Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
org.vertexium.cypher.CypherParser Maven / Gradle / Ivy
// Generated from org/vertexium/cypher/Cypher.g4 by ANTLR 4.7.2
package org.vertexium.cypher;
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 CypherParser extends Parser {
static { RuntimeMetaData.checkVersion("4.7.2", RuntimeMetaData.VERSION); }
protected static final DFA[] _decisionToDFA;
protected static final PredictionContextCache _sharedContextCache =
new PredictionContextCache();
public static final int
T__0=1, T__1=2, T__2=3, T__3=4, T__4=5, T__5=6, T__6=7, T__7=8, T__8=9,
T__9=10, T__10=11, T__11=12, T__12=13, T__13=14, T__14=15, T__15=16, T__16=17,
T__17=18, T__18=19, T__19=20, T__20=21, T__21=22, T__22=23, T__23=24,
T__24=25, T__25=26, T__26=27, T__27=28, T__28=29, T__29=30, T__30=31,
T__31=32, T__32=33, T__33=34, T__34=35, T__35=36, T__36=37, T__37=38,
T__38=39, T__39=40, T__40=41, T__41=42, T__42=43, T__43=44, T__44=45,
UNION=46, ALL=47, OPTIONAL=48, MATCH=49, UNWIND=50, AS=51, MERGE=52, ON=53,
CREATE=54, SET=55, DETACH=56, DELETE=57, REMOVE=58, CALL=59, YIELD=60,
WITH=61, DISTINCT=62, RETURN=63, ORDER=64, BY=65, L_SKIP=66, LIMIT=67,
ASCENDING=68, ASC=69, DESCENDING=70, DESC=71, WHERE=72, OR=73, XOR=74,
AND=75, NOT=76, IN=77, STARTS=78, ENDS=79, CONTAINS=80, IS=81, NULL=82,
COUNT=83, ANY=84, NONE=85, SINGLE=86, TRUE=87, FALSE=88, EXISTS=89, CASE=90,
ELSE=91, END=92, WHEN=93, THEN=94, StringLiteral=95, EscapedChar=96, HexInteger=97,
DecimalInteger=98, OctalInteger=99, HexLetter=100, HexDigit=101, Digit=102,
NonZeroDigit=103, NonZeroOctDigit=104, OctDigit=105, ZeroDigit=106, ExponentDecimalReal=107,
RegularDecimalReal=108, CONSTRAINT=109, DO=110, FOR=111, REQUIRE=112,
UNIQUE=113, MANDATORY=114, SCALAR=115, OF=116, ADD=117, DROP=118, FILTER=119,
EXTRACT=120, UnescapedSymbolicName=121, IdentifierStart=122, IdentifierPart=123,
EscapedSymbolicName=124, SP=125, WHITESPACE=126, Comment=127;
public static final int
RULE_oC_Cypher = 0, RULE_oC_Statement = 1, RULE_oC_Query = 2, RULE_oC_RegularQuery = 3,
RULE_oC_Union = 4, RULE_oC_SingleQuery = 5, RULE_oC_SinglePartQuery = 6,
RULE_oC_MultiPartQuery = 7, RULE_oC_UpdatingClause = 8, RULE_oC_ReadingClause = 9,
RULE_oC_Match = 10, RULE_oC_Unwind = 11, RULE_oC_Merge = 12, RULE_oC_MergeAction = 13,
RULE_oC_Create = 14, RULE_oC_Set = 15, RULE_oC_SetItem = 16, RULE_oC_Delete = 17,
RULE_oC_Remove = 18, RULE_oC_RemoveItem = 19, RULE_oC_InQueryCall = 20,
RULE_oC_StandaloneCall = 21, RULE_oC_YieldItems = 22, RULE_oC_YieldItem = 23,
RULE_oC_With = 24, RULE_oC_Return = 25, RULE_oC_ReturnBody = 26, RULE_oC_ReturnItems = 27,
RULE_oC_ReturnItem = 28, RULE_oC_Order = 29, RULE_oC_Skip = 30, RULE_oC_Limit = 31,
RULE_oC_SortItem = 32, RULE_oC_Where = 33, RULE_oC_Pattern = 34, RULE_oC_PatternPart = 35,
RULE_oC_AnonymousPatternPart = 36, RULE_oC_PatternElement = 37, RULE_oC_NodePattern = 38,
RULE_oC_PatternElementChain = 39, RULE_oC_RelationshipPattern = 40, RULE_oC_RelationshipDetail = 41,
RULE_oC_Properties = 42, RULE_oC_RelationshipTypes = 43, RULE_oC_NodeLabels = 44,
RULE_oC_NodeLabel = 45, RULE_oC_RangeLiteral = 46, RULE_oC_LabelName = 47,
RULE_oC_RelTypeName = 48, RULE_oC_Expression = 49, RULE_oC_OrExpression = 50,
RULE_oC_XorExpression = 51, RULE_oC_AndExpression = 52, RULE_oC_NotExpression = 53,
RULE_oC_ComparisonExpression = 54, RULE_oC_AddOrSubtractExpression = 55,
RULE_oC_MultiplyDivideModuloExpression = 56, RULE_oC_PowerOfExpression = 57,
RULE_oC_UnaryAddOrSubtractExpression = 58, RULE_oC_StringListNullOperatorExpression = 59,
RULE_oC_ListOperatorExpression = 60, RULE_oC_StringOperatorExpression = 61,
RULE_oC_NullOperatorExpression = 62, RULE_oC_PropertyOrLabelsExpression = 63,
RULE_oC_Atom = 64, RULE_oC_Literal = 65, RULE_oC_BooleanLiteral = 66,
RULE_oC_ListLiteral = 67, RULE_oC_PartialComparisonExpression = 68, RULE_oC_ParenthesizedExpression = 69,
RULE_oC_RelationshipsPattern = 70, RULE_oC_FilterExpression = 71, RULE_oC_IdInColl = 72,
RULE_oC_FunctionInvocation = 73, RULE_oC_FunctionName = 74, RULE_oC_ExplicitProcedureInvocation = 75,
RULE_oC_ImplicitProcedureInvocation = 76, RULE_oC_ProcedureResultField = 77,
RULE_oC_ProcedureName = 78, RULE_oC_Namespace = 79, RULE_oC_ListComprehension = 80,
RULE_oC_PatternComprehension = 81, RULE_oC_PropertyLookup = 82, RULE_oC_CaseExpression = 83,
RULE_oC_CaseAlternatives = 84, RULE_oC_Variable = 85, RULE_oC_NumberLiteral = 86,
RULE_oC_MapLiteral = 87, RULE_oC_Parameter = 88, RULE_oC_PropertyExpression = 89,
RULE_oC_PropertyKeyName = 90, RULE_oC_IntegerLiteral = 91, RULE_oC_DoubleLiteral = 92,
RULE_oC_SchemaName = 93, RULE_oC_ReservedWord = 94, RULE_oC_SymbolicName = 95,
RULE_oC_LeftArrowHead = 96, RULE_oC_RightArrowHead = 97, RULE_oC_Dash = 98;
private static String[] makeRuleNames() {
return new String[] {
"oC_Cypher", "oC_Statement", "oC_Query", "oC_RegularQuery", "oC_Union",
"oC_SingleQuery", "oC_SinglePartQuery", "oC_MultiPartQuery", "oC_UpdatingClause",
"oC_ReadingClause", "oC_Match", "oC_Unwind", "oC_Merge", "oC_MergeAction",
"oC_Create", "oC_Set", "oC_SetItem", "oC_Delete", "oC_Remove", "oC_RemoveItem",
"oC_InQueryCall", "oC_StandaloneCall", "oC_YieldItems", "oC_YieldItem",
"oC_With", "oC_Return", "oC_ReturnBody", "oC_ReturnItems", "oC_ReturnItem",
"oC_Order", "oC_Skip", "oC_Limit", "oC_SortItem", "oC_Where", "oC_Pattern",
"oC_PatternPart", "oC_AnonymousPatternPart", "oC_PatternElement", "oC_NodePattern",
"oC_PatternElementChain", "oC_RelationshipPattern", "oC_RelationshipDetail",
"oC_Properties", "oC_RelationshipTypes", "oC_NodeLabels", "oC_NodeLabel",
"oC_RangeLiteral", "oC_LabelName", "oC_RelTypeName", "oC_Expression",
"oC_OrExpression", "oC_XorExpression", "oC_AndExpression", "oC_NotExpression",
"oC_ComparisonExpression", "oC_AddOrSubtractExpression", "oC_MultiplyDivideModuloExpression",
"oC_PowerOfExpression", "oC_UnaryAddOrSubtractExpression", "oC_StringListNullOperatorExpression",
"oC_ListOperatorExpression", "oC_StringOperatorExpression", "oC_NullOperatorExpression",
"oC_PropertyOrLabelsExpression", "oC_Atom", "oC_Literal", "oC_BooleanLiteral",
"oC_ListLiteral", "oC_PartialComparisonExpression", "oC_ParenthesizedExpression",
"oC_RelationshipsPattern", "oC_FilterExpression", "oC_IdInColl", "oC_FunctionInvocation",
"oC_FunctionName", "oC_ExplicitProcedureInvocation", "oC_ImplicitProcedureInvocation",
"oC_ProcedureResultField", "oC_ProcedureName", "oC_Namespace", "oC_ListComprehension",
"oC_PatternComprehension", "oC_PropertyLookup", "oC_CaseExpression",
"oC_CaseAlternatives", "oC_Variable", "oC_NumberLiteral", "oC_MapLiteral",
"oC_Parameter", "oC_PropertyExpression", "oC_PropertyKeyName", "oC_IntegerLiteral",
"oC_DoubleLiteral", "oC_SchemaName", "oC_ReservedWord", "oC_SymbolicName",
"oC_LeftArrowHead", "oC_RightArrowHead", "oC_Dash"
};
}
public static final String[] ruleNames = makeRuleNames();
private static String[] makeLiteralNames() {
return new String[] {
null, "';'", "','", "'='", "'+='", "'-'", "'*'", "'('", "')'", "'['",
"']'", "':'", "'|'", "'..'", "'+'", "'/'", "'%'", "'^'", "'<>'", "'<'",
"'>'", "'<='", "'>='", "'.'", "'{'", "'}'", "'$'", "'\u00E2\u0178\u00A8'",
"'\u00E3\u20AC\u02C6'", "'\u00EF\u00B9\u00A4'", "'\u00EF\u00BC\u0153'",
"'\u00E2\u0178\u00A9'", "'\u00E3\u20AC\u2030'", "'\u00EF\u00B9\u00A5'",
"'\u00EF\u00BC\u017E'", "'\u00C2\u00AD'", "'\u00E2\u20AC\u0090'", "'\u00E2\u20AC\u2018'",
"'\u00E2\u20AC\u2019'", "'\u00E2\u20AC\u201C'", "'\u00E2\u20AC\u201D'",
"'\u00E2\u20AC\u2022'", "'\u00E2\u02C6\u2019'", "'\u00EF\u00B9\u02DC'",
"'\u00EF\u00B9\u00A3'", "'\u00EF\u00BC\u008D'", null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, "'0'"
};
}
private static final String[] _LITERAL_NAMES = makeLiteralNames();
private static String[] makeSymbolicNames() {
return new String[] {
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, "UNION",
"ALL", "OPTIONAL", "MATCH", "UNWIND", "AS", "MERGE", "ON", "CREATE",
"SET", "DETACH", "DELETE", "REMOVE", "CALL", "YIELD", "WITH", "DISTINCT",
"RETURN", "ORDER", "BY", "L_SKIP", "LIMIT", "ASCENDING", "ASC", "DESCENDING",
"DESC", "WHERE", "OR", "XOR", "AND", "NOT", "IN", "STARTS", "ENDS", "CONTAINS",
"IS", "NULL", "COUNT", "ANY", "NONE", "SINGLE", "TRUE", "FALSE", "EXISTS",
"CASE", "ELSE", "END", "WHEN", "THEN", "StringLiteral", "EscapedChar",
"HexInteger", "DecimalInteger", "OctalInteger", "HexLetter", "HexDigit",
"Digit", "NonZeroDigit", "NonZeroOctDigit", "OctDigit", "ZeroDigit",
"ExponentDecimalReal", "RegularDecimalReal", "CONSTRAINT", "DO", "FOR",
"REQUIRE", "UNIQUE", "MANDATORY", "SCALAR", "OF", "ADD", "DROP", "FILTER",
"EXTRACT", "UnescapedSymbolicName", "IdentifierStart", "IdentifierPart",
"EscapedSymbolicName", "SP", "WHITESPACE", "Comment"
};
}
private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames();
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 "Cypher.g4"; }
@Override
public String[] getRuleNames() { return ruleNames; }
@Override
public String getSerializedATN() { return _serializedATN; }
@Override
public ATN getATN() { return _ATN; }
public CypherParser(TokenStream input) {
super(input);
_interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
}
public static class OC_CypherContext extends ParserRuleContext {
public OC_StatementContext oC_Statement() {
return getRuleContext(OC_StatementContext.class,0);
}
public TerminalNode EOF() { return getToken(CypherParser.EOF, 0); }
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_CypherContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_Cypher; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_Cypher(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_Cypher(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_Cypher(this);
else return visitor.visitChildren(this);
}
}
public final OC_CypherContext oC_Cypher() throws RecognitionException {
OC_CypherContext _localctx = new OC_CypherContext(_ctx, getState());
enterRule(_localctx, 0, RULE_oC_Cypher);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(199);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(198);
match(SP);
}
}
setState(201);
oC_Statement();
setState(206);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,2,_ctx) ) {
case 1:
{
setState(203);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(202);
match(SP);
}
}
setState(205);
match(T__0);
}
break;
}
setState(209);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(208);
match(SP);
}
}
setState(211);
match(EOF);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_StatementContext extends ParserRuleContext {
public OC_QueryContext oC_Query() {
return getRuleContext(OC_QueryContext.class,0);
}
public OC_StatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_Statement; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_Statement(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_Statement(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_Statement(this);
else return visitor.visitChildren(this);
}
}
public final OC_StatementContext oC_Statement() throws RecognitionException {
OC_StatementContext _localctx = new OC_StatementContext(_ctx, getState());
enterRule(_localctx, 2, RULE_oC_Statement);
try {
enterOuterAlt(_localctx, 1);
{
setState(213);
oC_Query();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_QueryContext extends ParserRuleContext {
public OC_RegularQueryContext oC_RegularQuery() {
return getRuleContext(OC_RegularQueryContext.class,0);
}
public OC_StandaloneCallContext oC_StandaloneCall() {
return getRuleContext(OC_StandaloneCallContext.class,0);
}
public OC_QueryContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_Query; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_Query(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_Query(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_Query(this);
else return visitor.visitChildren(this);
}
}
public final OC_QueryContext oC_Query() throws RecognitionException {
OC_QueryContext _localctx = new OC_QueryContext(_ctx, getState());
enterRule(_localctx, 4, RULE_oC_Query);
try {
setState(217);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,4,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(215);
oC_RegularQuery();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(216);
oC_StandaloneCall();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_RegularQueryContext extends ParserRuleContext {
public OC_SingleQueryContext oC_SingleQuery() {
return getRuleContext(OC_SingleQueryContext.class,0);
}
public List oC_Union() {
return getRuleContexts(OC_UnionContext.class);
}
public OC_UnionContext oC_Union(int i) {
return getRuleContext(OC_UnionContext.class,i);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_RegularQueryContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_RegularQuery; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_RegularQuery(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_RegularQuery(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_RegularQuery(this);
else return visitor.visitChildren(this);
}
}
public final OC_RegularQueryContext oC_RegularQuery() throws RecognitionException {
OC_RegularQueryContext _localctx = new OC_RegularQueryContext(_ctx, getState());
enterRule(_localctx, 6, RULE_oC_RegularQuery);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(219);
oC_SingleQuery();
setState(226);
_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 ) {
{
{
setState(221);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(220);
match(SP);
}
}
setState(223);
oC_Union();
}
}
}
setState(228);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,6,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_UnionContext extends ParserRuleContext {
public TerminalNode UNION() { return getToken(CypherParser.UNION, 0); }
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public TerminalNode ALL() { return getToken(CypherParser.ALL, 0); }
public OC_SingleQueryContext oC_SingleQuery() {
return getRuleContext(OC_SingleQueryContext.class,0);
}
public OC_UnionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_Union; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_Union(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_Union(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_Union(this);
else return visitor.visitChildren(this);
}
}
public final OC_UnionContext oC_Union() throws RecognitionException {
OC_UnionContext _localctx = new OC_UnionContext(_ctx, getState());
enterRule(_localctx, 8, RULE_oC_Union);
int _la;
try {
setState(241);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,9,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
{
setState(229);
match(UNION);
setState(230);
match(SP);
setState(231);
match(ALL);
setState(233);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(232);
match(SP);
}
}
setState(235);
oC_SingleQuery();
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
{
setState(236);
match(UNION);
setState(238);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(237);
match(SP);
}
}
setState(240);
oC_SingleQuery();
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_SingleQueryContext extends ParserRuleContext {
public OC_SinglePartQueryContext oC_SinglePartQuery() {
return getRuleContext(OC_SinglePartQueryContext.class,0);
}
public OC_MultiPartQueryContext oC_MultiPartQuery() {
return getRuleContext(OC_MultiPartQueryContext.class,0);
}
public OC_SingleQueryContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_SingleQuery; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_SingleQuery(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_SingleQuery(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_SingleQuery(this);
else return visitor.visitChildren(this);
}
}
public final OC_SingleQueryContext oC_SingleQuery() throws RecognitionException {
OC_SingleQueryContext _localctx = new OC_SingleQueryContext(_ctx, getState());
enterRule(_localctx, 10, RULE_oC_SingleQuery);
try {
setState(245);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,10,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(243);
oC_SinglePartQuery();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(244);
oC_MultiPartQuery();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_SinglePartQueryContext extends ParserRuleContext {
public OC_ReturnContext oC_Return() {
return getRuleContext(OC_ReturnContext.class,0);
}
public List oC_ReadingClause() {
return getRuleContexts(OC_ReadingClauseContext.class);
}
public OC_ReadingClauseContext oC_ReadingClause(int i) {
return getRuleContext(OC_ReadingClauseContext.class,i);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public List oC_UpdatingClause() {
return getRuleContexts(OC_UpdatingClauseContext.class);
}
public OC_UpdatingClauseContext oC_UpdatingClause(int i) {
return getRuleContext(OC_UpdatingClauseContext.class,i);
}
public OC_SinglePartQueryContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_SinglePartQuery; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_SinglePartQuery(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_SinglePartQuery(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_SinglePartQuery(this);
else return visitor.visitChildren(this);
}
}
public final OC_SinglePartQueryContext oC_SinglePartQuery() throws RecognitionException {
OC_SinglePartQueryContext _localctx = new OC_SinglePartQueryContext(_ctx, getState());
enterRule(_localctx, 12, RULE_oC_SinglePartQuery);
int _la;
try {
int _alt;
setState(282);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,19,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
{
setState(253);
_errHandler.sync(this);
_la = _input.LA(1);
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << OPTIONAL) | (1L << MATCH) | (1L << UNWIND) | (1L << CALL))) != 0)) {
{
{
setState(247);
oC_ReadingClause();
setState(249);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(248);
match(SP);
}
}
}
}
setState(255);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(256);
oC_Return();
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
{
setState(263);
_errHandler.sync(this);
_la = _input.LA(1);
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << OPTIONAL) | (1L << MATCH) | (1L << UNWIND) | (1L << CALL))) != 0)) {
{
{
setState(257);
oC_ReadingClause();
setState(259);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(258);
match(SP);
}
}
}
}
setState(265);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(266);
oC_UpdatingClause();
setState(273);
_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 ) {
{
{
setState(268);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(267);
match(SP);
}
}
setState(270);
oC_UpdatingClause();
}
}
}
setState(275);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,16,_ctx);
}
setState(280);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,18,_ctx) ) {
case 1:
{
setState(277);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(276);
match(SP);
}
}
setState(279);
oC_Return();
}
break;
}
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_MultiPartQueryContext extends ParserRuleContext {
public OC_SinglePartQueryContext oC_SinglePartQuery() {
return getRuleContext(OC_SinglePartQueryContext.class,0);
}
public List oC_With() {
return getRuleContexts(OC_WithContext.class);
}
public OC_WithContext oC_With(int i) {
return getRuleContext(OC_WithContext.class,i);
}
public List oC_ReadingClause() {
return getRuleContexts(OC_ReadingClauseContext.class);
}
public OC_ReadingClauseContext oC_ReadingClause(int i) {
return getRuleContext(OC_ReadingClauseContext.class,i);
}
public List oC_UpdatingClause() {
return getRuleContexts(OC_UpdatingClauseContext.class);
}
public OC_UpdatingClauseContext oC_UpdatingClause(int i) {
return getRuleContext(OC_UpdatingClauseContext.class,i);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_MultiPartQueryContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_MultiPartQuery; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_MultiPartQuery(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_MultiPartQuery(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_MultiPartQuery(this);
else return visitor.visitChildren(this);
}
}
public final OC_MultiPartQueryContext oC_MultiPartQuery() throws RecognitionException {
OC_MultiPartQueryContext _localctx = new OC_MultiPartQueryContext(_ctx, getState());
enterRule(_localctx, 14, RULE_oC_MultiPartQuery);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(306);
_errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
setState(290);
_errHandler.sync(this);
_la = _input.LA(1);
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << OPTIONAL) | (1L << MATCH) | (1L << UNWIND) | (1L << CALL))) != 0)) {
{
{
setState(284);
oC_ReadingClause();
setState(286);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(285);
match(SP);
}
}
}
}
setState(292);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(299);
_errHandler.sync(this);
_la = _input.LA(1);
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << MERGE) | (1L << CREATE) | (1L << SET) | (1L << DETACH) | (1L << DELETE) | (1L << REMOVE))) != 0)) {
{
{
setState(293);
oC_UpdatingClause();
setState(295);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(294);
match(SP);
}
}
}
}
setState(301);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(302);
oC_With();
setState(304);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(303);
match(SP);
}
}
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(308);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,25,_ctx);
} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
setState(310);
oC_SinglePartQuery();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_UpdatingClauseContext extends ParserRuleContext {
public OC_CreateContext oC_Create() {
return getRuleContext(OC_CreateContext.class,0);
}
public OC_MergeContext oC_Merge() {
return getRuleContext(OC_MergeContext.class,0);
}
public OC_DeleteContext oC_Delete() {
return getRuleContext(OC_DeleteContext.class,0);
}
public OC_SetContext oC_Set() {
return getRuleContext(OC_SetContext.class,0);
}
public OC_RemoveContext oC_Remove() {
return getRuleContext(OC_RemoveContext.class,0);
}
public OC_UpdatingClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_UpdatingClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_UpdatingClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_UpdatingClause(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_UpdatingClause(this);
else return visitor.visitChildren(this);
}
}
public final OC_UpdatingClauseContext oC_UpdatingClause() throws RecognitionException {
OC_UpdatingClauseContext _localctx = new OC_UpdatingClauseContext(_ctx, getState());
enterRule(_localctx, 16, RULE_oC_UpdatingClause);
try {
setState(317);
_errHandler.sync(this);
switch (_input.LA(1)) {
case CREATE:
enterOuterAlt(_localctx, 1);
{
setState(312);
oC_Create();
}
break;
case MERGE:
enterOuterAlt(_localctx, 2);
{
setState(313);
oC_Merge();
}
break;
case DETACH:
case DELETE:
enterOuterAlt(_localctx, 3);
{
setState(314);
oC_Delete();
}
break;
case SET:
enterOuterAlt(_localctx, 4);
{
setState(315);
oC_Set();
}
break;
case REMOVE:
enterOuterAlt(_localctx, 5);
{
setState(316);
oC_Remove();
}
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 OC_ReadingClauseContext extends ParserRuleContext {
public OC_MatchContext oC_Match() {
return getRuleContext(OC_MatchContext.class,0);
}
public OC_UnwindContext oC_Unwind() {
return getRuleContext(OC_UnwindContext.class,0);
}
public OC_InQueryCallContext oC_InQueryCall() {
return getRuleContext(OC_InQueryCallContext.class,0);
}
public OC_ReadingClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_ReadingClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_ReadingClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_ReadingClause(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_ReadingClause(this);
else return visitor.visitChildren(this);
}
}
public final OC_ReadingClauseContext oC_ReadingClause() throws RecognitionException {
OC_ReadingClauseContext _localctx = new OC_ReadingClauseContext(_ctx, getState());
enterRule(_localctx, 18, RULE_oC_ReadingClause);
try {
setState(322);
_errHandler.sync(this);
switch (_input.LA(1)) {
case OPTIONAL:
case MATCH:
enterOuterAlt(_localctx, 1);
{
setState(319);
oC_Match();
}
break;
case UNWIND:
enterOuterAlt(_localctx, 2);
{
setState(320);
oC_Unwind();
}
break;
case CALL:
enterOuterAlt(_localctx, 3);
{
setState(321);
oC_InQueryCall();
}
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 OC_MatchContext extends ParserRuleContext {
public TerminalNode MATCH() { return getToken(CypherParser.MATCH, 0); }
public OC_PatternContext oC_Pattern() {
return getRuleContext(OC_PatternContext.class,0);
}
public TerminalNode OPTIONAL() { return getToken(CypherParser.OPTIONAL, 0); }
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_WhereContext oC_Where() {
return getRuleContext(OC_WhereContext.class,0);
}
public OC_MatchContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_Match; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_Match(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_Match(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_Match(this);
else return visitor.visitChildren(this);
}
}
public final OC_MatchContext oC_Match() throws RecognitionException {
OC_MatchContext _localctx = new OC_MatchContext(_ctx, getState());
enterRule(_localctx, 20, RULE_oC_Match);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(326);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==OPTIONAL) {
{
setState(324);
match(OPTIONAL);
setState(325);
match(SP);
}
}
setState(328);
match(MATCH);
setState(330);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(329);
match(SP);
}
}
setState(332);
oC_Pattern();
setState(337);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,31,_ctx) ) {
case 1:
{
setState(334);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(333);
match(SP);
}
}
setState(336);
oC_Where();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_UnwindContext extends ParserRuleContext {
public TerminalNode UNWIND() { return getToken(CypherParser.UNWIND, 0); }
public OC_ExpressionContext oC_Expression() {
return getRuleContext(OC_ExpressionContext.class,0);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public TerminalNode AS() { return getToken(CypherParser.AS, 0); }
public OC_VariableContext oC_Variable() {
return getRuleContext(OC_VariableContext.class,0);
}
public OC_UnwindContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_Unwind; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_Unwind(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_Unwind(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_Unwind(this);
else return visitor.visitChildren(this);
}
}
public final OC_UnwindContext oC_Unwind() throws RecognitionException {
OC_UnwindContext _localctx = new OC_UnwindContext(_ctx, getState());
enterRule(_localctx, 22, RULE_oC_Unwind);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(339);
match(UNWIND);
setState(341);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(340);
match(SP);
}
}
setState(343);
oC_Expression();
setState(344);
match(SP);
setState(345);
match(AS);
setState(346);
match(SP);
setState(347);
oC_Variable();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_MergeContext extends ParserRuleContext {
public TerminalNode MERGE() { return getToken(CypherParser.MERGE, 0); }
public OC_PatternPartContext oC_PatternPart() {
return getRuleContext(OC_PatternPartContext.class,0);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public List oC_MergeAction() {
return getRuleContexts(OC_MergeActionContext.class);
}
public OC_MergeActionContext oC_MergeAction(int i) {
return getRuleContext(OC_MergeActionContext.class,i);
}
public OC_MergeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_Merge; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_Merge(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_Merge(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_Merge(this);
else return visitor.visitChildren(this);
}
}
public final OC_MergeContext oC_Merge() throws RecognitionException {
OC_MergeContext _localctx = new OC_MergeContext(_ctx, getState());
enterRule(_localctx, 24, RULE_oC_Merge);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(349);
match(MERGE);
setState(351);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(350);
match(SP);
}
}
setState(353);
oC_PatternPart();
setState(358);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,34,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(354);
match(SP);
setState(355);
oC_MergeAction();
}
}
}
setState(360);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,34,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_MergeActionContext extends ParserRuleContext {
public TerminalNode ON() { return getToken(CypherParser.ON, 0); }
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public TerminalNode MATCH() { return getToken(CypherParser.MATCH, 0); }
public OC_SetContext oC_Set() {
return getRuleContext(OC_SetContext.class,0);
}
public TerminalNode CREATE() { return getToken(CypherParser.CREATE, 0); }
public OC_MergeActionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_MergeAction; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_MergeAction(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_MergeAction(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_MergeAction(this);
else return visitor.visitChildren(this);
}
}
public final OC_MergeActionContext oC_MergeAction() throws RecognitionException {
OC_MergeActionContext _localctx = new OC_MergeActionContext(_ctx, getState());
enterRule(_localctx, 26, RULE_oC_MergeAction);
try {
setState(371);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,35,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
{
setState(361);
match(ON);
setState(362);
match(SP);
setState(363);
match(MATCH);
setState(364);
match(SP);
setState(365);
oC_Set();
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
{
setState(366);
match(ON);
setState(367);
match(SP);
setState(368);
match(CREATE);
setState(369);
match(SP);
setState(370);
oC_Set();
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_CreateContext extends ParserRuleContext {
public TerminalNode CREATE() { return getToken(CypherParser.CREATE, 0); }
public OC_PatternContext oC_Pattern() {
return getRuleContext(OC_PatternContext.class,0);
}
public TerminalNode SP() { return getToken(CypherParser.SP, 0); }
public OC_CreateContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_Create; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_Create(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_Create(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_Create(this);
else return visitor.visitChildren(this);
}
}
public final OC_CreateContext oC_Create() throws RecognitionException {
OC_CreateContext _localctx = new OC_CreateContext(_ctx, getState());
enterRule(_localctx, 28, RULE_oC_Create);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(373);
match(CREATE);
setState(375);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(374);
match(SP);
}
}
setState(377);
oC_Pattern();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_SetContext extends ParserRuleContext {
public TerminalNode SET() { return getToken(CypherParser.SET, 0); }
public List oC_SetItem() {
return getRuleContexts(OC_SetItemContext.class);
}
public OC_SetItemContext oC_SetItem(int i) {
return getRuleContext(OC_SetItemContext.class,i);
}
public TerminalNode SP() { return getToken(CypherParser.SP, 0); }
public OC_SetContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_Set; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_Set(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_Set(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_Set(this);
else return visitor.visitChildren(this);
}
}
public final OC_SetContext oC_Set() throws RecognitionException {
OC_SetContext _localctx = new OC_SetContext(_ctx, getState());
enterRule(_localctx, 30, RULE_oC_Set);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(379);
match(SET);
setState(381);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(380);
match(SP);
}
}
setState(383);
oC_SetItem();
setState(388);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==T__1) {
{
{
setState(384);
match(T__1);
setState(385);
oC_SetItem();
}
}
setState(390);
_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 OC_SetItemContext extends ParserRuleContext {
public OC_PropertyExpressionContext oC_PropertyExpression() {
return getRuleContext(OC_PropertyExpressionContext.class,0);
}
public OC_ExpressionContext oC_Expression() {
return getRuleContext(OC_ExpressionContext.class,0);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_VariableContext oC_Variable() {
return getRuleContext(OC_VariableContext.class,0);
}
public OC_NodeLabelsContext oC_NodeLabels() {
return getRuleContext(OC_NodeLabelsContext.class,0);
}
public OC_SetItemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_SetItem; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_SetItem(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_SetItem(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_SetItem(this);
else return visitor.visitChildren(this);
}
}
public final OC_SetItemContext oC_SetItem() throws RecognitionException {
OC_SetItemContext _localctx = new OC_SetItemContext(_ctx, getState());
enterRule(_localctx, 32, RULE_oC_SetItem);
int _la;
try {
setState(427);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,46,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
{
setState(391);
oC_PropertyExpression();
setState(393);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(392);
match(SP);
}
}
setState(395);
match(T__2);
setState(397);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(396);
match(SP);
}
}
setState(399);
oC_Expression();
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
{
setState(401);
oC_Variable();
setState(403);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(402);
match(SP);
}
}
setState(405);
match(T__2);
setState(407);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(406);
match(SP);
}
}
setState(409);
oC_Expression();
}
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
{
setState(411);
oC_Variable();
setState(413);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(412);
match(SP);
}
}
setState(415);
match(T__3);
setState(417);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(416);
match(SP);
}
}
setState(419);
oC_Expression();
}
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
{
setState(421);
oC_Variable();
setState(423);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(422);
match(SP);
}
}
setState(425);
oC_NodeLabels();
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_DeleteContext extends ParserRuleContext {
public TerminalNode DELETE() { return getToken(CypherParser.DELETE, 0); }
public List oC_Expression() {
return getRuleContexts(OC_ExpressionContext.class);
}
public OC_ExpressionContext oC_Expression(int i) {
return getRuleContext(OC_ExpressionContext.class,i);
}
public TerminalNode DETACH() { return getToken(CypherParser.DETACH, 0); }
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_DeleteContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_Delete; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_Delete(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_Delete(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_Delete(this);
else return visitor.visitChildren(this);
}
}
public final OC_DeleteContext oC_Delete() throws RecognitionException {
OC_DeleteContext _localctx = new OC_DeleteContext(_ctx, getState());
enterRule(_localctx, 34, RULE_oC_Delete);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(431);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==DETACH) {
{
setState(429);
match(DETACH);
setState(430);
match(SP);
}
}
setState(433);
match(DELETE);
setState(435);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(434);
match(SP);
}
}
setState(437);
oC_Expression();
setState(448);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,51,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(439);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(438);
match(SP);
}
}
setState(441);
match(T__1);
setState(443);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(442);
match(SP);
}
}
setState(445);
oC_Expression();
}
}
}
setState(450);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,51,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_RemoveContext extends ParserRuleContext {
public TerminalNode REMOVE() { return getToken(CypherParser.REMOVE, 0); }
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public List oC_RemoveItem() {
return getRuleContexts(OC_RemoveItemContext.class);
}
public OC_RemoveItemContext oC_RemoveItem(int i) {
return getRuleContext(OC_RemoveItemContext.class,i);
}
public OC_RemoveContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_Remove; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_Remove(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_Remove(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_Remove(this);
else return visitor.visitChildren(this);
}
}
public final OC_RemoveContext oC_Remove() throws RecognitionException {
OC_RemoveContext _localctx = new OC_RemoveContext(_ctx, getState());
enterRule(_localctx, 36, RULE_oC_Remove);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(451);
match(REMOVE);
setState(452);
match(SP);
setState(453);
oC_RemoveItem();
setState(464);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,54,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(455);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(454);
match(SP);
}
}
setState(457);
match(T__1);
setState(459);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(458);
match(SP);
}
}
setState(461);
oC_RemoveItem();
}
}
}
setState(466);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,54,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_RemoveItemContext extends ParserRuleContext {
public OC_VariableContext oC_Variable() {
return getRuleContext(OC_VariableContext.class,0);
}
public OC_NodeLabelsContext oC_NodeLabels() {
return getRuleContext(OC_NodeLabelsContext.class,0);
}
public OC_PropertyExpressionContext oC_PropertyExpression() {
return getRuleContext(OC_PropertyExpressionContext.class,0);
}
public OC_RemoveItemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_RemoveItem; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_RemoveItem(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_RemoveItem(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_RemoveItem(this);
else return visitor.visitChildren(this);
}
}
public final OC_RemoveItemContext oC_RemoveItem() throws RecognitionException {
OC_RemoveItemContext _localctx = new OC_RemoveItemContext(_ctx, getState());
enterRule(_localctx, 38, RULE_oC_RemoveItem);
try {
setState(471);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,55,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
{
setState(467);
oC_Variable();
setState(468);
oC_NodeLabels();
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(470);
oC_PropertyExpression();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_InQueryCallContext extends ParserRuleContext {
public TerminalNode CALL() { return getToken(CypherParser.CALL, 0); }
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_ExplicitProcedureInvocationContext oC_ExplicitProcedureInvocation() {
return getRuleContext(OC_ExplicitProcedureInvocationContext.class,0);
}
public TerminalNode YIELD() { return getToken(CypherParser.YIELD, 0); }
public OC_YieldItemsContext oC_YieldItems() {
return getRuleContext(OC_YieldItemsContext.class,0);
}
public OC_InQueryCallContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_InQueryCall; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_InQueryCall(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_InQueryCall(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_InQueryCall(this);
else return visitor.visitChildren(this);
}
}
public final OC_InQueryCallContext oC_InQueryCall() throws RecognitionException {
OC_InQueryCallContext _localctx = new OC_InQueryCallContext(_ctx, getState());
enterRule(_localctx, 40, RULE_oC_InQueryCall);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(473);
match(CALL);
setState(474);
match(SP);
setState(475);
oC_ExplicitProcedureInvocation();
setState(482);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,57,_ctx) ) {
case 1:
{
setState(477);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(476);
match(SP);
}
}
setState(479);
match(YIELD);
setState(480);
match(SP);
setState(481);
oC_YieldItems();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_StandaloneCallContext extends ParserRuleContext {
public TerminalNode CALL() { return getToken(CypherParser.CALL, 0); }
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_ExplicitProcedureInvocationContext oC_ExplicitProcedureInvocation() {
return getRuleContext(OC_ExplicitProcedureInvocationContext.class,0);
}
public OC_ImplicitProcedureInvocationContext oC_ImplicitProcedureInvocation() {
return getRuleContext(OC_ImplicitProcedureInvocationContext.class,0);
}
public TerminalNode YIELD() { return getToken(CypherParser.YIELD, 0); }
public OC_YieldItemsContext oC_YieldItems() {
return getRuleContext(OC_YieldItemsContext.class,0);
}
public OC_StandaloneCallContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_StandaloneCall; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_StandaloneCall(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_StandaloneCall(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_StandaloneCall(this);
else return visitor.visitChildren(this);
}
}
public final OC_StandaloneCallContext oC_StandaloneCall() throws RecognitionException {
OC_StandaloneCallContext _localctx = new OC_StandaloneCallContext(_ctx, getState());
enterRule(_localctx, 42, RULE_oC_StandaloneCall);
try {
enterOuterAlt(_localctx, 1);
{
setState(484);
match(CALL);
setState(485);
match(SP);
setState(488);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,58,_ctx) ) {
case 1:
{
setState(486);
oC_ExplicitProcedureInvocation();
}
break;
case 2:
{
setState(487);
oC_ImplicitProcedureInvocation();
}
break;
}
setState(494);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,59,_ctx) ) {
case 1:
{
setState(490);
match(SP);
setState(491);
match(YIELD);
setState(492);
match(SP);
setState(493);
oC_YieldItems();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_YieldItemsContext extends ParserRuleContext {
public List oC_YieldItem() {
return getRuleContexts(OC_YieldItemContext.class);
}
public OC_YieldItemContext oC_YieldItem(int i) {
return getRuleContext(OC_YieldItemContext.class,i);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_YieldItemsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_YieldItems; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_YieldItems(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_YieldItems(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_YieldItems(this);
else return visitor.visitChildren(this);
}
}
public final OC_YieldItemsContext oC_YieldItems() throws RecognitionException {
OC_YieldItemsContext _localctx = new OC_YieldItemsContext(_ctx, getState());
enterRule(_localctx, 44, RULE_oC_YieldItems);
int _la;
try {
int _alt;
setState(511);
_errHandler.sync(this);
switch (_input.LA(1)) {
case COUNT:
case ANY:
case NONE:
case SINGLE:
case HexLetter:
case FILTER:
case EXTRACT:
case UnescapedSymbolicName:
case EscapedSymbolicName:
enterOuterAlt(_localctx, 1);
{
{
setState(496);
oC_YieldItem();
setState(507);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,62,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(498);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(497);
match(SP);
}
}
setState(500);
match(T__1);
setState(502);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(501);
match(SP);
}
}
setState(504);
oC_YieldItem();
}
}
}
setState(509);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,62,_ctx);
}
}
}
break;
case T__4:
enterOuterAlt(_localctx, 2);
{
setState(510);
match(T__4);
}
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 OC_YieldItemContext extends ParserRuleContext {
public OC_VariableContext oC_Variable() {
return getRuleContext(OC_VariableContext.class,0);
}
public OC_ProcedureResultFieldContext oC_ProcedureResultField() {
return getRuleContext(OC_ProcedureResultFieldContext.class,0);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public TerminalNode AS() { return getToken(CypherParser.AS, 0); }
public OC_YieldItemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_YieldItem; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_YieldItem(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_YieldItem(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_YieldItem(this);
else return visitor.visitChildren(this);
}
}
public final OC_YieldItemContext oC_YieldItem() throws RecognitionException {
OC_YieldItemContext _localctx = new OC_YieldItemContext(_ctx, getState());
enterRule(_localctx, 46, RULE_oC_YieldItem);
try {
enterOuterAlt(_localctx, 1);
{
setState(518);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,64,_ctx) ) {
case 1:
{
setState(513);
oC_ProcedureResultField();
setState(514);
match(SP);
setState(515);
match(AS);
setState(516);
match(SP);
}
break;
}
setState(520);
oC_Variable();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_WithContext extends ParserRuleContext {
public TerminalNode WITH() { return getToken(CypherParser.WITH, 0); }
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_ReturnBodyContext oC_ReturnBody() {
return getRuleContext(OC_ReturnBodyContext.class,0);
}
public TerminalNode DISTINCT() { return getToken(CypherParser.DISTINCT, 0); }
public OC_WhereContext oC_Where() {
return getRuleContext(OC_WhereContext.class,0);
}
public OC_WithContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_With; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_With(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_With(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_With(this);
else return visitor.visitChildren(this);
}
}
public final OC_WithContext oC_With() throws RecognitionException {
OC_WithContext _localctx = new OC_WithContext(_ctx, getState());
enterRule(_localctx, 48, RULE_oC_With);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(522);
match(WITH);
setState(527);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,66,_ctx) ) {
case 1:
{
setState(524);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(523);
match(SP);
}
}
setState(526);
match(DISTINCT);
}
break;
}
setState(529);
match(SP);
setState(530);
oC_ReturnBody();
setState(535);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,68,_ctx) ) {
case 1:
{
setState(532);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(531);
match(SP);
}
}
setState(534);
oC_Where();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_ReturnContext extends ParserRuleContext {
public TerminalNode RETURN() { return getToken(CypherParser.RETURN, 0); }
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_ReturnBodyContext oC_ReturnBody() {
return getRuleContext(OC_ReturnBodyContext.class,0);
}
public TerminalNode DISTINCT() { return getToken(CypherParser.DISTINCT, 0); }
public OC_ReturnContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_Return; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_Return(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_Return(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_Return(this);
else return visitor.visitChildren(this);
}
}
public final OC_ReturnContext oC_Return() throws RecognitionException {
OC_ReturnContext _localctx = new OC_ReturnContext(_ctx, getState());
enterRule(_localctx, 50, RULE_oC_Return);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(537);
match(RETURN);
setState(542);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,70,_ctx) ) {
case 1:
{
setState(539);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(538);
match(SP);
}
}
setState(541);
match(DISTINCT);
}
break;
}
setState(544);
match(SP);
setState(545);
oC_ReturnBody();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_ReturnBodyContext extends ParserRuleContext {
public OC_ReturnItemsContext oC_ReturnItems() {
return getRuleContext(OC_ReturnItemsContext.class,0);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_OrderContext oC_Order() {
return getRuleContext(OC_OrderContext.class,0);
}
public OC_SkipContext oC_Skip() {
return getRuleContext(OC_SkipContext.class,0);
}
public OC_LimitContext oC_Limit() {
return getRuleContext(OC_LimitContext.class,0);
}
public OC_ReturnBodyContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_ReturnBody; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_ReturnBody(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_ReturnBody(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_ReturnBody(this);
else return visitor.visitChildren(this);
}
}
public final OC_ReturnBodyContext oC_ReturnBody() throws RecognitionException {
OC_ReturnBodyContext _localctx = new OC_ReturnBodyContext(_ctx, getState());
enterRule(_localctx, 52, RULE_oC_ReturnBody);
try {
enterOuterAlt(_localctx, 1);
{
setState(547);
oC_ReturnItems();
setState(550);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,71,_ctx) ) {
case 1:
{
setState(548);
match(SP);
setState(549);
oC_Order();
}
break;
}
setState(554);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,72,_ctx) ) {
case 1:
{
setState(552);
match(SP);
setState(553);
oC_Skip();
}
break;
}
setState(558);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,73,_ctx) ) {
case 1:
{
setState(556);
match(SP);
setState(557);
oC_Limit();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_ReturnItemsContext extends ParserRuleContext {
public List oC_ReturnItem() {
return getRuleContexts(OC_ReturnItemContext.class);
}
public OC_ReturnItemContext oC_ReturnItem(int i) {
return getRuleContext(OC_ReturnItemContext.class,i);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_ReturnItemsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_ReturnItems; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_ReturnItems(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_ReturnItems(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_ReturnItems(this);
else return visitor.visitChildren(this);
}
}
public final OC_ReturnItemsContext oC_ReturnItems() throws RecognitionException {
OC_ReturnItemsContext _localctx = new OC_ReturnItemsContext(_ctx, getState());
enterRule(_localctx, 54, RULE_oC_ReturnItems);
int _la;
try {
int _alt;
setState(588);
_errHandler.sync(this);
switch (_input.LA(1)) {
case T__5:
enterOuterAlt(_localctx, 1);
{
{
setState(560);
match(T__5);
setState(571);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,76,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(562);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(561);
match(SP);
}
}
setState(564);
match(T__1);
setState(566);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(565);
match(SP);
}
}
setState(568);
oC_ReturnItem();
}
}
}
setState(573);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,76,_ctx);
}
}
}
break;
case T__4:
case T__6:
case T__8:
case T__13:
case T__23:
case T__25:
case ALL:
case NOT:
case NULL:
case COUNT:
case ANY:
case NONE:
case SINGLE:
case TRUE:
case FALSE:
case EXISTS:
case CASE:
case StringLiteral:
case HexInteger:
case DecimalInteger:
case OctalInteger:
case HexLetter:
case ExponentDecimalReal:
case RegularDecimalReal:
case FILTER:
case EXTRACT:
case UnescapedSymbolicName:
case EscapedSymbolicName:
enterOuterAlt(_localctx, 2);
{
{
setState(574);
oC_ReturnItem();
setState(585);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,79,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(576);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(575);
match(SP);
}
}
setState(578);
match(T__1);
setState(580);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(579);
match(SP);
}
}
setState(582);
oC_ReturnItem();
}
}
}
setState(587);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,79,_ctx);
}
}
}
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 OC_ReturnItemContext extends ParserRuleContext {
public OC_ExpressionContext oC_Expression() {
return getRuleContext(OC_ExpressionContext.class,0);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public TerminalNode AS() { return getToken(CypherParser.AS, 0); }
public OC_VariableContext oC_Variable() {
return getRuleContext(OC_VariableContext.class,0);
}
public OC_ReturnItemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_ReturnItem; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_ReturnItem(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_ReturnItem(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_ReturnItem(this);
else return visitor.visitChildren(this);
}
}
public final OC_ReturnItemContext oC_ReturnItem() throws RecognitionException {
OC_ReturnItemContext _localctx = new OC_ReturnItemContext(_ctx, getState());
enterRule(_localctx, 56, RULE_oC_ReturnItem);
try {
setState(597);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,81,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
{
setState(590);
oC_Expression();
setState(591);
match(SP);
setState(592);
match(AS);
setState(593);
match(SP);
setState(594);
oC_Variable();
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(596);
oC_Expression();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_OrderContext extends ParserRuleContext {
public TerminalNode ORDER() { return getToken(CypherParser.ORDER, 0); }
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public TerminalNode BY() { return getToken(CypherParser.BY, 0); }
public List oC_SortItem() {
return getRuleContexts(OC_SortItemContext.class);
}
public OC_SortItemContext oC_SortItem(int i) {
return getRuleContext(OC_SortItemContext.class,i);
}
public OC_OrderContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_Order; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_Order(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_Order(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_Order(this);
else return visitor.visitChildren(this);
}
}
public final OC_OrderContext oC_Order() throws RecognitionException {
OC_OrderContext _localctx = new OC_OrderContext(_ctx, getState());
enterRule(_localctx, 58, RULE_oC_Order);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(599);
match(ORDER);
setState(600);
match(SP);
setState(601);
match(BY);
setState(602);
match(SP);
setState(603);
oC_SortItem();
setState(611);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==T__1) {
{
{
setState(604);
match(T__1);
setState(606);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(605);
match(SP);
}
}
setState(608);
oC_SortItem();
}
}
setState(613);
_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 OC_SkipContext extends ParserRuleContext {
public TerminalNode L_SKIP() { return getToken(CypherParser.L_SKIP, 0); }
public TerminalNode SP() { return getToken(CypherParser.SP, 0); }
public OC_ExpressionContext oC_Expression() {
return getRuleContext(OC_ExpressionContext.class,0);
}
public OC_SkipContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_Skip; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_Skip(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_Skip(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_Skip(this);
else return visitor.visitChildren(this);
}
}
public final OC_SkipContext oC_Skip() throws RecognitionException {
OC_SkipContext _localctx = new OC_SkipContext(_ctx, getState());
enterRule(_localctx, 60, RULE_oC_Skip);
try {
enterOuterAlt(_localctx, 1);
{
setState(614);
match(L_SKIP);
setState(615);
match(SP);
setState(616);
oC_Expression();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_LimitContext extends ParserRuleContext {
public TerminalNode LIMIT() { return getToken(CypherParser.LIMIT, 0); }
public TerminalNode SP() { return getToken(CypherParser.SP, 0); }
public OC_ExpressionContext oC_Expression() {
return getRuleContext(OC_ExpressionContext.class,0);
}
public OC_LimitContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_Limit; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_Limit(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_Limit(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_Limit(this);
else return visitor.visitChildren(this);
}
}
public final OC_LimitContext oC_Limit() throws RecognitionException {
OC_LimitContext _localctx = new OC_LimitContext(_ctx, getState());
enterRule(_localctx, 62, RULE_oC_Limit);
try {
enterOuterAlt(_localctx, 1);
{
setState(618);
match(LIMIT);
setState(619);
match(SP);
setState(620);
oC_Expression();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_SortItemContext extends ParserRuleContext {
public OC_ExpressionContext oC_Expression() {
return getRuleContext(OC_ExpressionContext.class,0);
}
public TerminalNode ASCENDING() { return getToken(CypherParser.ASCENDING, 0); }
public TerminalNode ASC() { return getToken(CypherParser.ASC, 0); }
public TerminalNode DESCENDING() { return getToken(CypherParser.DESCENDING, 0); }
public TerminalNode DESC() { return getToken(CypherParser.DESC, 0); }
public TerminalNode SP() { return getToken(CypherParser.SP, 0); }
public OC_SortItemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_SortItem; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_SortItem(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_SortItem(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_SortItem(this);
else return visitor.visitChildren(this);
}
}
public final OC_SortItemContext oC_SortItem() throws RecognitionException {
OC_SortItemContext _localctx = new OC_SortItemContext(_ctx, getState());
enterRule(_localctx, 64, RULE_oC_SortItem);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(622);
oC_Expression();
setState(627);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,85,_ctx) ) {
case 1:
{
setState(624);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(623);
match(SP);
}
}
setState(626);
_la = _input.LA(1);
if ( !(((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & ((1L << (ASCENDING - 68)) | (1L << (ASC - 68)) | (1L << (DESCENDING - 68)) | (1L << (DESC - 68)))) != 0)) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_WhereContext extends ParserRuleContext {
public TerminalNode WHERE() { return getToken(CypherParser.WHERE, 0); }
public TerminalNode SP() { return getToken(CypherParser.SP, 0); }
public OC_ExpressionContext oC_Expression() {
return getRuleContext(OC_ExpressionContext.class,0);
}
public OC_WhereContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_Where; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_Where(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_Where(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_Where(this);
else return visitor.visitChildren(this);
}
}
public final OC_WhereContext oC_Where() throws RecognitionException {
OC_WhereContext _localctx = new OC_WhereContext(_ctx, getState());
enterRule(_localctx, 66, RULE_oC_Where);
try {
enterOuterAlt(_localctx, 1);
{
setState(629);
match(WHERE);
setState(630);
match(SP);
setState(631);
oC_Expression();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_PatternContext extends ParserRuleContext {
public List oC_PatternPart() {
return getRuleContexts(OC_PatternPartContext.class);
}
public OC_PatternPartContext oC_PatternPart(int i) {
return getRuleContext(OC_PatternPartContext.class,i);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_PatternContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_Pattern; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_Pattern(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_Pattern(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_Pattern(this);
else return visitor.visitChildren(this);
}
}
public final OC_PatternContext oC_Pattern() throws RecognitionException {
OC_PatternContext _localctx = new OC_PatternContext(_ctx, getState());
enterRule(_localctx, 68, RULE_oC_Pattern);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(633);
oC_PatternPart();
setState(644);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,88,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(635);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(634);
match(SP);
}
}
setState(637);
match(T__1);
setState(639);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(638);
match(SP);
}
}
setState(641);
oC_PatternPart();
}
}
}
setState(646);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,88,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_PatternPartContext extends ParserRuleContext {
public OC_VariableContext oC_Variable() {
return getRuleContext(OC_VariableContext.class,0);
}
public OC_AnonymousPatternPartContext oC_AnonymousPatternPart() {
return getRuleContext(OC_AnonymousPatternPartContext.class,0);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_PatternPartContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_PatternPart; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_PatternPart(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_PatternPart(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_PatternPart(this);
else return visitor.visitChildren(this);
}
}
public final OC_PatternPartContext oC_PatternPart() throws RecognitionException {
OC_PatternPartContext _localctx = new OC_PatternPartContext(_ctx, getState());
enterRule(_localctx, 70, RULE_oC_PatternPart);
int _la;
try {
setState(658);
_errHandler.sync(this);
switch (_input.LA(1)) {
case COUNT:
case ANY:
case NONE:
case SINGLE:
case HexLetter:
case FILTER:
case EXTRACT:
case UnescapedSymbolicName:
case EscapedSymbolicName:
enterOuterAlt(_localctx, 1);
{
{
setState(647);
oC_Variable();
setState(649);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(648);
match(SP);
}
}
setState(651);
match(T__2);
setState(653);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(652);
match(SP);
}
}
setState(655);
oC_AnonymousPatternPart();
}
}
break;
case T__6:
enterOuterAlt(_localctx, 2);
{
setState(657);
oC_AnonymousPatternPart();
}
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 OC_AnonymousPatternPartContext extends ParserRuleContext {
public OC_PatternElementContext oC_PatternElement() {
return getRuleContext(OC_PatternElementContext.class,0);
}
public OC_AnonymousPatternPartContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_AnonymousPatternPart; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_AnonymousPatternPart(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_AnonymousPatternPart(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_AnonymousPatternPart(this);
else return visitor.visitChildren(this);
}
}
public final OC_AnonymousPatternPartContext oC_AnonymousPatternPart() throws RecognitionException {
OC_AnonymousPatternPartContext _localctx = new OC_AnonymousPatternPartContext(_ctx, getState());
enterRule(_localctx, 72, RULE_oC_AnonymousPatternPart);
try {
enterOuterAlt(_localctx, 1);
{
setState(660);
oC_PatternElement();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_PatternElementContext extends ParserRuleContext {
public OC_NodePatternContext oC_NodePattern() {
return getRuleContext(OC_NodePatternContext.class,0);
}
public List oC_PatternElementChain() {
return getRuleContexts(OC_PatternElementChainContext.class);
}
public OC_PatternElementChainContext oC_PatternElementChain(int i) {
return getRuleContext(OC_PatternElementChainContext.class,i);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_PatternElementContext oC_PatternElement() {
return getRuleContext(OC_PatternElementContext.class,0);
}
public OC_PatternElementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_PatternElement; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_PatternElement(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_PatternElement(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_PatternElement(this);
else return visitor.visitChildren(this);
}
}
public final OC_PatternElementContext oC_PatternElement() throws RecognitionException {
OC_PatternElementContext _localctx = new OC_PatternElementContext(_ctx, getState());
enterRule(_localctx, 74, RULE_oC_PatternElement);
int _la;
try {
int _alt;
setState(676);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,94,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
{
setState(662);
oC_NodePattern();
setState(669);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,93,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(664);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(663);
match(SP);
}
}
setState(666);
oC_PatternElementChain();
}
}
}
setState(671);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,93,_ctx);
}
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
{
setState(672);
match(T__6);
setState(673);
oC_PatternElement();
setState(674);
match(T__7);
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_NodePatternContext extends ParserRuleContext {
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_VariableContext oC_Variable() {
return getRuleContext(OC_VariableContext.class,0);
}
public OC_NodeLabelsContext oC_NodeLabels() {
return getRuleContext(OC_NodeLabelsContext.class,0);
}
public OC_PropertiesContext oC_Properties() {
return getRuleContext(OC_PropertiesContext.class,0);
}
public OC_NodePatternContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_NodePattern; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_NodePattern(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_NodePattern(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_NodePattern(this);
else return visitor.visitChildren(this);
}
}
public final OC_NodePatternContext oC_NodePattern() throws RecognitionException {
OC_NodePatternContext _localctx = new OC_NodePatternContext(_ctx, getState());
enterRule(_localctx, 76, RULE_oC_NodePattern);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(678);
match(T__6);
setState(680);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(679);
match(SP);
}
}
setState(686);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 83)) & ~0x3f) == 0 && ((1L << (_la - 83)) & ((1L << (COUNT - 83)) | (1L << (ANY - 83)) | (1L << (NONE - 83)) | (1L << (SINGLE - 83)) | (1L << (HexLetter - 83)) | (1L << (FILTER - 83)) | (1L << (EXTRACT - 83)) | (1L << (UnescapedSymbolicName - 83)) | (1L << (EscapedSymbolicName - 83)))) != 0)) {
{
setState(682);
oC_Variable();
setState(684);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(683);
match(SP);
}
}
}
}
setState(692);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__10) {
{
setState(688);
oC_NodeLabels();
setState(690);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(689);
match(SP);
}
}
}
}
setState(698);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__23 || _la==T__25) {
{
setState(694);
oC_Properties();
setState(696);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(695);
match(SP);
}
}
}
}
setState(700);
match(T__7);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_PatternElementChainContext extends ParserRuleContext {
public OC_RelationshipPatternContext oC_RelationshipPattern() {
return getRuleContext(OC_RelationshipPatternContext.class,0);
}
public OC_NodePatternContext oC_NodePattern() {
return getRuleContext(OC_NodePatternContext.class,0);
}
public TerminalNode SP() { return getToken(CypherParser.SP, 0); }
public OC_PatternElementChainContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_PatternElementChain; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_PatternElementChain(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_PatternElementChain(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_PatternElementChain(this);
else return visitor.visitChildren(this);
}
}
public final OC_PatternElementChainContext oC_PatternElementChain() throws RecognitionException {
OC_PatternElementChainContext _localctx = new OC_PatternElementChainContext(_ctx, getState());
enterRule(_localctx, 78, RULE_oC_PatternElementChain);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(702);
oC_RelationshipPattern();
setState(704);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(703);
match(SP);
}
}
setState(706);
oC_NodePattern();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_RelationshipPatternContext extends ParserRuleContext {
public OC_LeftArrowHeadContext oC_LeftArrowHead() {
return getRuleContext(OC_LeftArrowHeadContext.class,0);
}
public List oC_Dash() {
return getRuleContexts(OC_DashContext.class);
}
public OC_DashContext oC_Dash(int i) {
return getRuleContext(OC_DashContext.class,i);
}
public OC_RightArrowHeadContext oC_RightArrowHead() {
return getRuleContext(OC_RightArrowHeadContext.class,0);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_RelationshipDetailContext oC_RelationshipDetail() {
return getRuleContext(OC_RelationshipDetailContext.class,0);
}
public OC_RelationshipPatternContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_RelationshipPattern; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_RelationshipPattern(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_RelationshipPattern(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_RelationshipPattern(this);
else return visitor.visitChildren(this);
}
}
public final OC_RelationshipPatternContext oC_RelationshipPattern() throws RecognitionException {
OC_RelationshipPatternContext _localctx = new OC_RelationshipPatternContext(_ctx, getState());
enterRule(_localctx, 80, RULE_oC_RelationshipPattern);
int _la;
try {
setState(772);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,119,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
{
setState(708);
oC_LeftArrowHead();
setState(710);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(709);
match(SP);
}
}
setState(712);
oC_Dash();
setState(714);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,104,_ctx) ) {
case 1:
{
setState(713);
match(SP);
}
break;
}
setState(717);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__8) {
{
setState(716);
oC_RelationshipDetail();
}
}
setState(720);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(719);
match(SP);
}
}
setState(722);
oC_Dash();
setState(724);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(723);
match(SP);
}
}
setState(726);
oC_RightArrowHead();
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
{
setState(728);
oC_LeftArrowHead();
setState(730);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(729);
match(SP);
}
}
setState(732);
oC_Dash();
setState(734);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,109,_ctx) ) {
case 1:
{
setState(733);
match(SP);
}
break;
}
setState(737);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__8) {
{
setState(736);
oC_RelationshipDetail();
}
}
setState(740);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(739);
match(SP);
}
}
setState(742);
oC_Dash();
}
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
{
setState(744);
oC_Dash();
setState(746);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,112,_ctx) ) {
case 1:
{
setState(745);
match(SP);
}
break;
}
setState(749);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__8) {
{
setState(748);
oC_RelationshipDetail();
}
}
setState(752);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(751);
match(SP);
}
}
setState(754);
oC_Dash();
setState(756);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(755);
match(SP);
}
}
setState(758);
oC_RightArrowHead();
}
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
{
setState(760);
oC_Dash();
setState(762);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,116,_ctx) ) {
case 1:
{
setState(761);
match(SP);
}
break;
}
setState(765);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__8) {
{
setState(764);
oC_RelationshipDetail();
}
}
setState(768);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(767);
match(SP);
}
}
setState(770);
oC_Dash();
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_RelationshipDetailContext extends ParserRuleContext {
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_VariableContext oC_Variable() {
return getRuleContext(OC_VariableContext.class,0);
}
public OC_RelationshipTypesContext oC_RelationshipTypes() {
return getRuleContext(OC_RelationshipTypesContext.class,0);
}
public OC_RangeLiteralContext oC_RangeLiteral() {
return getRuleContext(OC_RangeLiteralContext.class,0);
}
public OC_PropertiesContext oC_Properties() {
return getRuleContext(OC_PropertiesContext.class,0);
}
public OC_RelationshipDetailContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_RelationshipDetail; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_RelationshipDetail(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_RelationshipDetail(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_RelationshipDetail(this);
else return visitor.visitChildren(this);
}
}
public final OC_RelationshipDetailContext oC_RelationshipDetail() throws RecognitionException {
OC_RelationshipDetailContext _localctx = new OC_RelationshipDetailContext(_ctx, getState());
enterRule(_localctx, 82, RULE_oC_RelationshipDetail);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(774);
match(T__8);
setState(776);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(775);
match(SP);
}
}
setState(782);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 83)) & ~0x3f) == 0 && ((1L << (_la - 83)) & ((1L << (COUNT - 83)) | (1L << (ANY - 83)) | (1L << (NONE - 83)) | (1L << (SINGLE - 83)) | (1L << (HexLetter - 83)) | (1L << (FILTER - 83)) | (1L << (EXTRACT - 83)) | (1L << (UnescapedSymbolicName - 83)) | (1L << (EscapedSymbolicName - 83)))) != 0)) {
{
setState(778);
oC_Variable();
setState(780);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(779);
match(SP);
}
}
}
}
setState(788);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__10) {
{
setState(784);
oC_RelationshipTypes();
setState(786);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(785);
match(SP);
}
}
}
}
setState(791);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__5) {
{
setState(790);
oC_RangeLiteral();
}
}
setState(797);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__23 || _la==T__25) {
{
setState(793);
oC_Properties();
setState(795);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(794);
match(SP);
}
}
}
}
setState(799);
match(T__9);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_PropertiesContext extends ParserRuleContext {
public OC_MapLiteralContext oC_MapLiteral() {
return getRuleContext(OC_MapLiteralContext.class,0);
}
public OC_ParameterContext oC_Parameter() {
return getRuleContext(OC_ParameterContext.class,0);
}
public OC_PropertiesContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_Properties; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_Properties(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_Properties(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_Properties(this);
else return visitor.visitChildren(this);
}
}
public final OC_PropertiesContext oC_Properties() throws RecognitionException {
OC_PropertiesContext _localctx = new OC_PropertiesContext(_ctx, getState());
enterRule(_localctx, 84, RULE_oC_Properties);
try {
setState(803);
_errHandler.sync(this);
switch (_input.LA(1)) {
case T__23:
enterOuterAlt(_localctx, 1);
{
setState(801);
oC_MapLiteral();
}
break;
case T__25:
enterOuterAlt(_localctx, 2);
{
setState(802);
oC_Parameter();
}
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 OC_RelationshipTypesContext extends ParserRuleContext {
public List oC_RelTypeName() {
return getRuleContexts(OC_RelTypeNameContext.class);
}
public OC_RelTypeNameContext oC_RelTypeName(int i) {
return getRuleContext(OC_RelTypeNameContext.class,i);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_RelationshipTypesContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_RelationshipTypes; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_RelationshipTypes(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_RelationshipTypes(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_RelationshipTypes(this);
else return visitor.visitChildren(this);
}
}
public final OC_RelationshipTypesContext oC_RelationshipTypes() throws RecognitionException {
OC_RelationshipTypesContext _localctx = new OC_RelationshipTypesContext(_ctx, getState());
enterRule(_localctx, 86, RULE_oC_RelationshipTypes);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(805);
match(T__10);
setState(807);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(806);
match(SP);
}
}
setState(809);
oC_RelTypeName();
setState(823);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,133,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(811);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(810);
match(SP);
}
}
setState(813);
match(T__11);
setState(815);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__10) {
{
setState(814);
match(T__10);
}
}
setState(818);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(817);
match(SP);
}
}
setState(820);
oC_RelTypeName();
}
}
}
setState(825);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,133,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_NodeLabelsContext extends ParserRuleContext {
public List oC_NodeLabel() {
return getRuleContexts(OC_NodeLabelContext.class);
}
public OC_NodeLabelContext oC_NodeLabel(int i) {
return getRuleContext(OC_NodeLabelContext.class,i);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_NodeLabelsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_NodeLabels; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_NodeLabels(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_NodeLabels(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_NodeLabels(this);
else return visitor.visitChildren(this);
}
}
public final OC_NodeLabelsContext oC_NodeLabels() throws RecognitionException {
OC_NodeLabelsContext _localctx = new OC_NodeLabelsContext(_ctx, getState());
enterRule(_localctx, 88, RULE_oC_NodeLabels);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(826);
oC_NodeLabel();
setState(833);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,135,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(828);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(827);
match(SP);
}
}
setState(830);
oC_NodeLabel();
}
}
}
setState(835);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,135,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_NodeLabelContext extends ParserRuleContext {
public OC_LabelNameContext oC_LabelName() {
return getRuleContext(OC_LabelNameContext.class,0);
}
public TerminalNode SP() { return getToken(CypherParser.SP, 0); }
public OC_NodeLabelContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_NodeLabel; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_NodeLabel(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_NodeLabel(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_NodeLabel(this);
else return visitor.visitChildren(this);
}
}
public final OC_NodeLabelContext oC_NodeLabel() throws RecognitionException {
OC_NodeLabelContext _localctx = new OC_NodeLabelContext(_ctx, getState());
enterRule(_localctx, 90, RULE_oC_NodeLabel);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(836);
match(T__10);
setState(838);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(837);
match(SP);
}
}
setState(840);
oC_LabelName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_RangeLiteralContext extends ParserRuleContext {
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public List oC_IntegerLiteral() {
return getRuleContexts(OC_IntegerLiteralContext.class);
}
public OC_IntegerLiteralContext oC_IntegerLiteral(int i) {
return getRuleContext(OC_IntegerLiteralContext.class,i);
}
public OC_RangeLiteralContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_RangeLiteral; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_RangeLiteral(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_RangeLiteral(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_RangeLiteral(this);
else return visitor.visitChildren(this);
}
}
public final OC_RangeLiteralContext oC_RangeLiteral() throws RecognitionException {
OC_RangeLiteralContext _localctx = new OC_RangeLiteralContext(_ctx, getState());
enterRule(_localctx, 92, RULE_oC_RangeLiteral);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(842);
match(T__5);
setState(844);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(843);
match(SP);
}
}
setState(850);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 97)) & ~0x3f) == 0 && ((1L << (_la - 97)) & ((1L << (HexInteger - 97)) | (1L << (DecimalInteger - 97)) | (1L << (OctalInteger - 97)))) != 0)) {
{
setState(846);
oC_IntegerLiteral();
setState(848);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(847);
match(SP);
}
}
}
}
setState(862);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__12) {
{
setState(852);
match(T__12);
setState(854);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(853);
match(SP);
}
}
setState(860);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 97)) & ~0x3f) == 0 && ((1L << (_la - 97)) & ((1L << (HexInteger - 97)) | (1L << (DecimalInteger - 97)) | (1L << (OctalInteger - 97)))) != 0)) {
{
setState(856);
oC_IntegerLiteral();
setState(858);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(857);
match(SP);
}
}
}
}
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_LabelNameContext extends ParserRuleContext {
public OC_SchemaNameContext oC_SchemaName() {
return getRuleContext(OC_SchemaNameContext.class,0);
}
public OC_LabelNameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_LabelName; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_LabelName(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_LabelName(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_LabelName(this);
else return visitor.visitChildren(this);
}
}
public final OC_LabelNameContext oC_LabelName() throws RecognitionException {
OC_LabelNameContext _localctx = new OC_LabelNameContext(_ctx, getState());
enterRule(_localctx, 94, RULE_oC_LabelName);
try {
enterOuterAlt(_localctx, 1);
{
setState(864);
oC_SchemaName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_RelTypeNameContext extends ParserRuleContext {
public OC_SchemaNameContext oC_SchemaName() {
return getRuleContext(OC_SchemaNameContext.class,0);
}
public OC_RelTypeNameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_RelTypeName; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_RelTypeName(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_RelTypeName(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_RelTypeName(this);
else return visitor.visitChildren(this);
}
}
public final OC_RelTypeNameContext oC_RelTypeName() throws RecognitionException {
OC_RelTypeNameContext _localctx = new OC_RelTypeNameContext(_ctx, getState());
enterRule(_localctx, 96, RULE_oC_RelTypeName);
try {
enterOuterAlt(_localctx, 1);
{
setState(866);
oC_SchemaName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_ExpressionContext extends ParserRuleContext {
public OC_OrExpressionContext oC_OrExpression() {
return getRuleContext(OC_OrExpressionContext.class,0);
}
public OC_ExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_Expression; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_Expression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_Expression(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_Expression(this);
else return visitor.visitChildren(this);
}
}
public final OC_ExpressionContext oC_Expression() throws RecognitionException {
OC_ExpressionContext _localctx = new OC_ExpressionContext(_ctx, getState());
enterRule(_localctx, 98, RULE_oC_Expression);
try {
enterOuterAlt(_localctx, 1);
{
setState(868);
oC_OrExpression();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_OrExpressionContext extends ParserRuleContext {
public List oC_XorExpression() {
return getRuleContexts(OC_XorExpressionContext.class);
}
public OC_XorExpressionContext oC_XorExpression(int i) {
return getRuleContext(OC_XorExpressionContext.class,i);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public List OR() { return getTokens(CypherParser.OR); }
public TerminalNode OR(int i) {
return getToken(CypherParser.OR, i);
}
public OC_OrExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_OrExpression; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_OrExpression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_OrExpression(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_OrExpression(this);
else return visitor.visitChildren(this);
}
}
public final OC_OrExpressionContext oC_OrExpression() throws RecognitionException {
OC_OrExpressionContext _localctx = new OC_OrExpressionContext(_ctx, getState());
enterRule(_localctx, 100, RULE_oC_OrExpression);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(870);
oC_XorExpression();
setState(877);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,144,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(871);
match(SP);
setState(872);
match(OR);
setState(873);
match(SP);
setState(874);
oC_XorExpression();
}
}
}
setState(879);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,144,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_XorExpressionContext extends ParserRuleContext {
public List oC_AndExpression() {
return getRuleContexts(OC_AndExpressionContext.class);
}
public OC_AndExpressionContext oC_AndExpression(int i) {
return getRuleContext(OC_AndExpressionContext.class,i);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public List XOR() { return getTokens(CypherParser.XOR); }
public TerminalNode XOR(int i) {
return getToken(CypherParser.XOR, i);
}
public OC_XorExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_XorExpression; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_XorExpression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_XorExpression(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_XorExpression(this);
else return visitor.visitChildren(this);
}
}
public final OC_XorExpressionContext oC_XorExpression() throws RecognitionException {
OC_XorExpressionContext _localctx = new OC_XorExpressionContext(_ctx, getState());
enterRule(_localctx, 102, RULE_oC_XorExpression);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(880);
oC_AndExpression();
setState(887);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,145,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(881);
match(SP);
setState(882);
match(XOR);
setState(883);
match(SP);
setState(884);
oC_AndExpression();
}
}
}
setState(889);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,145,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_AndExpressionContext extends ParserRuleContext {
public List oC_NotExpression() {
return getRuleContexts(OC_NotExpressionContext.class);
}
public OC_NotExpressionContext oC_NotExpression(int i) {
return getRuleContext(OC_NotExpressionContext.class,i);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public List AND() { return getTokens(CypherParser.AND); }
public TerminalNode AND(int i) {
return getToken(CypherParser.AND, i);
}
public OC_AndExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_AndExpression; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_AndExpression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_AndExpression(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_AndExpression(this);
else return visitor.visitChildren(this);
}
}
public final OC_AndExpressionContext oC_AndExpression() throws RecognitionException {
OC_AndExpressionContext _localctx = new OC_AndExpressionContext(_ctx, getState());
enterRule(_localctx, 104, RULE_oC_AndExpression);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(890);
oC_NotExpression();
setState(897);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,146,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(891);
match(SP);
setState(892);
match(AND);
setState(893);
match(SP);
setState(894);
oC_NotExpression();
}
}
}
setState(899);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,146,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_NotExpressionContext extends ParserRuleContext {
public OC_ComparisonExpressionContext oC_ComparisonExpression() {
return getRuleContext(OC_ComparisonExpressionContext.class,0);
}
public List NOT() { return getTokens(CypherParser.NOT); }
public TerminalNode NOT(int i) {
return getToken(CypherParser.NOT, i);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_NotExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_NotExpression; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_NotExpression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_NotExpression(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_NotExpression(this);
else return visitor.visitChildren(this);
}
}
public final OC_NotExpressionContext oC_NotExpression() throws RecognitionException {
OC_NotExpressionContext _localctx = new OC_NotExpressionContext(_ctx, getState());
enterRule(_localctx, 106, RULE_oC_NotExpression);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(906);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==NOT) {
{
{
setState(900);
match(NOT);
setState(902);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(901);
match(SP);
}
}
}
}
setState(908);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(909);
oC_ComparisonExpression();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_ComparisonExpressionContext extends ParserRuleContext {
public OC_AddOrSubtractExpressionContext oC_AddOrSubtractExpression() {
return getRuleContext(OC_AddOrSubtractExpressionContext.class,0);
}
public List oC_PartialComparisonExpression() {
return getRuleContexts(OC_PartialComparisonExpressionContext.class);
}
public OC_PartialComparisonExpressionContext oC_PartialComparisonExpression(int i) {
return getRuleContext(OC_PartialComparisonExpressionContext.class,i);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_ComparisonExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_ComparisonExpression; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_ComparisonExpression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_ComparisonExpression(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_ComparisonExpression(this);
else return visitor.visitChildren(this);
}
}
public final OC_ComparisonExpressionContext oC_ComparisonExpression() throws RecognitionException {
OC_ComparisonExpressionContext _localctx = new OC_ComparisonExpressionContext(_ctx, getState());
enterRule(_localctx, 108, RULE_oC_ComparisonExpression);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(911);
oC_AddOrSubtractExpression();
setState(918);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,150,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(913);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(912);
match(SP);
}
}
setState(915);
oC_PartialComparisonExpression();
}
}
}
setState(920);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,150,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_AddOrSubtractExpressionContext extends ParserRuleContext {
public List oC_MultiplyDivideModuloExpression() {
return getRuleContexts(OC_MultiplyDivideModuloExpressionContext.class);
}
public OC_MultiplyDivideModuloExpressionContext oC_MultiplyDivideModuloExpression(int i) {
return getRuleContext(OC_MultiplyDivideModuloExpressionContext.class,i);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_AddOrSubtractExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_AddOrSubtractExpression; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_AddOrSubtractExpression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_AddOrSubtractExpression(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_AddOrSubtractExpression(this);
else return visitor.visitChildren(this);
}
}
public final OC_AddOrSubtractExpressionContext oC_AddOrSubtractExpression() throws RecognitionException {
OC_AddOrSubtractExpressionContext _localctx = new OC_AddOrSubtractExpressionContext(_ctx, getState());
enterRule(_localctx, 110, RULE_oC_AddOrSubtractExpression);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(921);
oC_MultiplyDivideModuloExpression();
setState(940);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,156,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
setState(938);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,155,_ctx) ) {
case 1:
{
{
setState(923);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(922);
match(SP);
}
}
setState(925);
match(T__13);
setState(927);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(926);
match(SP);
}
}
setState(929);
oC_MultiplyDivideModuloExpression();
}
}
break;
case 2:
{
{
setState(931);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(930);
match(SP);
}
}
setState(933);
match(T__4);
setState(935);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(934);
match(SP);
}
}
setState(937);
oC_MultiplyDivideModuloExpression();
}
}
break;
}
}
}
setState(942);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,156,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_MultiplyDivideModuloExpressionContext extends ParserRuleContext {
public List oC_PowerOfExpression() {
return getRuleContexts(OC_PowerOfExpressionContext.class);
}
public OC_PowerOfExpressionContext oC_PowerOfExpression(int i) {
return getRuleContext(OC_PowerOfExpressionContext.class,i);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_MultiplyDivideModuloExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_MultiplyDivideModuloExpression; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_MultiplyDivideModuloExpression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_MultiplyDivideModuloExpression(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_MultiplyDivideModuloExpression(this);
else return visitor.visitChildren(this);
}
}
public final OC_MultiplyDivideModuloExpressionContext oC_MultiplyDivideModuloExpression() throws RecognitionException {
OC_MultiplyDivideModuloExpressionContext _localctx = new OC_MultiplyDivideModuloExpressionContext(_ctx, getState());
enterRule(_localctx, 112, RULE_oC_MultiplyDivideModuloExpression);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(943);
oC_PowerOfExpression();
setState(970);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,164,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
setState(968);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,163,_ctx) ) {
case 1:
{
{
setState(945);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(944);
match(SP);
}
}
setState(947);
match(T__5);
setState(949);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(948);
match(SP);
}
}
setState(951);
oC_PowerOfExpression();
}
}
break;
case 2:
{
{
setState(953);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(952);
match(SP);
}
}
setState(955);
match(T__14);
setState(957);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(956);
match(SP);
}
}
setState(959);
oC_PowerOfExpression();
}
}
break;
case 3:
{
{
setState(961);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(960);
match(SP);
}
}
setState(963);
match(T__15);
setState(965);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(964);
match(SP);
}
}
setState(967);
oC_PowerOfExpression();
}
}
break;
}
}
}
setState(972);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,164,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_PowerOfExpressionContext extends ParserRuleContext {
public List oC_UnaryAddOrSubtractExpression() {
return getRuleContexts(OC_UnaryAddOrSubtractExpressionContext.class);
}
public OC_UnaryAddOrSubtractExpressionContext oC_UnaryAddOrSubtractExpression(int i) {
return getRuleContext(OC_UnaryAddOrSubtractExpressionContext.class,i);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_PowerOfExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_PowerOfExpression; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_PowerOfExpression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_PowerOfExpression(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_PowerOfExpression(this);
else return visitor.visitChildren(this);
}
}
public final OC_PowerOfExpressionContext oC_PowerOfExpression() throws RecognitionException {
OC_PowerOfExpressionContext _localctx = new OC_PowerOfExpressionContext(_ctx, getState());
enterRule(_localctx, 114, RULE_oC_PowerOfExpression);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(973);
oC_UnaryAddOrSubtractExpression();
setState(984);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,167,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(975);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(974);
match(SP);
}
}
setState(977);
match(T__16);
setState(979);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(978);
match(SP);
}
}
setState(981);
oC_UnaryAddOrSubtractExpression();
}
}
}
setState(986);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,167,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_UnaryAddOrSubtractExpressionContext extends ParserRuleContext {
public OC_StringListNullOperatorExpressionContext oC_StringListNullOperatorExpression() {
return getRuleContext(OC_StringListNullOperatorExpressionContext.class,0);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_UnaryAddOrSubtractExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_UnaryAddOrSubtractExpression; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_UnaryAddOrSubtractExpression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_UnaryAddOrSubtractExpression(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_UnaryAddOrSubtractExpression(this);
else return visitor.visitChildren(this);
}
}
public final OC_UnaryAddOrSubtractExpressionContext oC_UnaryAddOrSubtractExpression() throws RecognitionException {
OC_UnaryAddOrSubtractExpressionContext _localctx = new OC_UnaryAddOrSubtractExpressionContext(_ctx, getState());
enterRule(_localctx, 116, RULE_oC_UnaryAddOrSubtractExpression);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(993);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==T__4 || _la==T__13) {
{
{
setState(987);
_la = _input.LA(1);
if ( !(_la==T__4 || _la==T__13) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(989);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(988);
match(SP);
}
}
}
}
setState(995);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(996);
oC_StringListNullOperatorExpression();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_StringListNullOperatorExpressionContext extends ParserRuleContext {
public OC_PropertyOrLabelsExpressionContext oC_PropertyOrLabelsExpression() {
return getRuleContext(OC_PropertyOrLabelsExpressionContext.class,0);
}
public List oC_StringOperatorExpression() {
return getRuleContexts(OC_StringOperatorExpressionContext.class);
}
public OC_StringOperatorExpressionContext oC_StringOperatorExpression(int i) {
return getRuleContext(OC_StringOperatorExpressionContext.class,i);
}
public List oC_ListOperatorExpression() {
return getRuleContexts(OC_ListOperatorExpressionContext.class);
}
public OC_ListOperatorExpressionContext oC_ListOperatorExpression(int i) {
return getRuleContext(OC_ListOperatorExpressionContext.class,i);
}
public List oC_NullOperatorExpression() {
return getRuleContexts(OC_NullOperatorExpressionContext.class);
}
public OC_NullOperatorExpressionContext oC_NullOperatorExpression(int i) {
return getRuleContext(OC_NullOperatorExpressionContext.class,i);
}
public OC_StringListNullOperatorExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_StringListNullOperatorExpression; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_StringListNullOperatorExpression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_StringListNullOperatorExpression(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_StringListNullOperatorExpression(this);
else return visitor.visitChildren(this);
}
}
public final OC_StringListNullOperatorExpressionContext oC_StringListNullOperatorExpression() throws RecognitionException {
OC_StringListNullOperatorExpressionContext _localctx = new OC_StringListNullOperatorExpressionContext(_ctx, getState());
enterRule(_localctx, 118, RULE_oC_StringListNullOperatorExpression);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(998);
oC_PropertyOrLabelsExpression();
setState(1004);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,171,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
setState(1002);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,170,_ctx) ) {
case 1:
{
setState(999);
oC_StringOperatorExpression();
}
break;
case 2:
{
setState(1000);
oC_ListOperatorExpression();
}
break;
case 3:
{
setState(1001);
oC_NullOperatorExpression();
}
break;
}
}
}
setState(1006);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,171,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_ListOperatorExpressionContext extends ParserRuleContext {
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public TerminalNode IN() { return getToken(CypherParser.IN, 0); }
public OC_PropertyOrLabelsExpressionContext oC_PropertyOrLabelsExpression() {
return getRuleContext(OC_PropertyOrLabelsExpressionContext.class,0);
}
public List oC_Expression() {
return getRuleContexts(OC_ExpressionContext.class);
}
public OC_ExpressionContext oC_Expression(int i) {
return getRuleContext(OC_ExpressionContext.class,i);
}
public OC_ListOperatorExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_ListOperatorExpression; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_ListOperatorExpression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_ListOperatorExpression(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_ListOperatorExpression(this);
else return visitor.visitChildren(this);
}
}
public final OC_ListOperatorExpressionContext oC_ListOperatorExpression() throws RecognitionException {
OC_ListOperatorExpressionContext _localctx = new OC_ListOperatorExpressionContext(_ctx, getState());
enterRule(_localctx, 120, RULE_oC_ListOperatorExpression);
int _la;
try {
setState(1032);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,177,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
{
setState(1007);
match(SP);
setState(1008);
match(IN);
setState(1010);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1009);
match(SP);
}
}
setState(1012);
oC_PropertyOrLabelsExpression();
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
{
setState(1014);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1013);
match(SP);
}
}
setState(1016);
match(T__8);
setState(1017);
oC_Expression();
setState(1018);
match(T__9);
}
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
{
setState(1021);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1020);
match(SP);
}
}
setState(1023);
match(T__8);
setState(1025);
_errHandler.sync(this);
_la = _input.LA(1);
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__4) | (1L << T__6) | (1L << T__8) | (1L << T__13) | (1L << T__23) | (1L << T__25) | (1L << ALL))) != 0) || ((((_la - 76)) & ~0x3f) == 0 && ((1L << (_la - 76)) & ((1L << (NOT - 76)) | (1L << (NULL - 76)) | (1L << (COUNT - 76)) | (1L << (ANY - 76)) | (1L << (NONE - 76)) | (1L << (SINGLE - 76)) | (1L << (TRUE - 76)) | (1L << (FALSE - 76)) | (1L << (EXISTS - 76)) | (1L << (CASE - 76)) | (1L << (StringLiteral - 76)) | (1L << (HexInteger - 76)) | (1L << (DecimalInteger - 76)) | (1L << (OctalInteger - 76)) | (1L << (HexLetter - 76)) | (1L << (ExponentDecimalReal - 76)) | (1L << (RegularDecimalReal - 76)) | (1L << (FILTER - 76)) | (1L << (EXTRACT - 76)) | (1L << (UnescapedSymbolicName - 76)) | (1L << (EscapedSymbolicName - 76)))) != 0)) {
{
setState(1024);
oC_Expression();
}
}
setState(1027);
match(T__12);
setState(1029);
_errHandler.sync(this);
_la = _input.LA(1);
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__4) | (1L << T__6) | (1L << T__8) | (1L << T__13) | (1L << T__23) | (1L << T__25) | (1L << ALL))) != 0) || ((((_la - 76)) & ~0x3f) == 0 && ((1L << (_la - 76)) & ((1L << (NOT - 76)) | (1L << (NULL - 76)) | (1L << (COUNT - 76)) | (1L << (ANY - 76)) | (1L << (NONE - 76)) | (1L << (SINGLE - 76)) | (1L << (TRUE - 76)) | (1L << (FALSE - 76)) | (1L << (EXISTS - 76)) | (1L << (CASE - 76)) | (1L << (StringLiteral - 76)) | (1L << (HexInteger - 76)) | (1L << (DecimalInteger - 76)) | (1L << (OctalInteger - 76)) | (1L << (HexLetter - 76)) | (1L << (ExponentDecimalReal - 76)) | (1L << (RegularDecimalReal - 76)) | (1L << (FILTER - 76)) | (1L << (EXTRACT - 76)) | (1L << (UnescapedSymbolicName - 76)) | (1L << (EscapedSymbolicName - 76)))) != 0)) {
{
setState(1028);
oC_Expression();
}
}
setState(1031);
match(T__9);
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_StringOperatorExpressionContext extends ParserRuleContext {
public OC_PropertyOrLabelsExpressionContext oC_PropertyOrLabelsExpression() {
return getRuleContext(OC_PropertyOrLabelsExpressionContext.class,0);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public TerminalNode STARTS() { return getToken(CypherParser.STARTS, 0); }
public TerminalNode WITH() { return getToken(CypherParser.WITH, 0); }
public TerminalNode ENDS() { return getToken(CypherParser.ENDS, 0); }
public TerminalNode CONTAINS() { return getToken(CypherParser.CONTAINS, 0); }
public OC_StringOperatorExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_StringOperatorExpression; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_StringOperatorExpression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_StringOperatorExpression(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_StringOperatorExpression(this);
else return visitor.visitChildren(this);
}
}
public final OC_StringOperatorExpressionContext oC_StringOperatorExpression() throws RecognitionException {
OC_StringOperatorExpressionContext _localctx = new OC_StringOperatorExpressionContext(_ctx, getState());
enterRule(_localctx, 122, RULE_oC_StringOperatorExpression);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1044);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,178,_ctx) ) {
case 1:
{
{
setState(1034);
match(SP);
setState(1035);
match(STARTS);
setState(1036);
match(SP);
setState(1037);
match(WITH);
}
}
break;
case 2:
{
{
setState(1038);
match(SP);
setState(1039);
match(ENDS);
setState(1040);
match(SP);
setState(1041);
match(WITH);
}
}
break;
case 3:
{
{
setState(1042);
match(SP);
setState(1043);
match(CONTAINS);
}
}
break;
}
setState(1047);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1046);
match(SP);
}
}
setState(1049);
oC_PropertyOrLabelsExpression();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_NullOperatorExpressionContext extends ParserRuleContext {
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public TerminalNode IS() { return getToken(CypherParser.IS, 0); }
public TerminalNode NULL() { return getToken(CypherParser.NULL, 0); }
public TerminalNode NOT() { return getToken(CypherParser.NOT, 0); }
public OC_NullOperatorExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_NullOperatorExpression; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_NullOperatorExpression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_NullOperatorExpression(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_NullOperatorExpression(this);
else return visitor.visitChildren(this);
}
}
public final OC_NullOperatorExpressionContext oC_NullOperatorExpression() throws RecognitionException {
OC_NullOperatorExpressionContext _localctx = new OC_NullOperatorExpressionContext(_ctx, getState());
enterRule(_localctx, 124, RULE_oC_NullOperatorExpression);
try {
setState(1061);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,180,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
{
setState(1051);
match(SP);
setState(1052);
match(IS);
setState(1053);
match(SP);
setState(1054);
match(NULL);
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
{
setState(1055);
match(SP);
setState(1056);
match(IS);
setState(1057);
match(SP);
setState(1058);
match(NOT);
setState(1059);
match(SP);
setState(1060);
match(NULL);
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_PropertyOrLabelsExpressionContext extends ParserRuleContext {
public OC_AtomContext oC_Atom() {
return getRuleContext(OC_AtomContext.class,0);
}
public List oC_PropertyLookup() {
return getRuleContexts(OC_PropertyLookupContext.class);
}
public OC_PropertyLookupContext oC_PropertyLookup(int i) {
return getRuleContext(OC_PropertyLookupContext.class,i);
}
public OC_NodeLabelsContext oC_NodeLabels() {
return getRuleContext(OC_NodeLabelsContext.class,0);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_PropertyOrLabelsExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_PropertyOrLabelsExpression; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_PropertyOrLabelsExpression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_PropertyOrLabelsExpression(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_PropertyOrLabelsExpression(this);
else return visitor.visitChildren(this);
}
}
public final OC_PropertyOrLabelsExpressionContext oC_PropertyOrLabelsExpression() throws RecognitionException {
OC_PropertyOrLabelsExpressionContext _localctx = new OC_PropertyOrLabelsExpressionContext(_ctx, getState());
enterRule(_localctx, 126, RULE_oC_PropertyOrLabelsExpression);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(1063);
oC_Atom();
setState(1070);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,182,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(1065);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1064);
match(SP);
}
}
setState(1067);
oC_PropertyLookup();
}
}
}
setState(1072);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,182,_ctx);
}
setState(1077);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,184,_ctx) ) {
case 1:
{
setState(1074);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1073);
match(SP);
}
}
setState(1076);
oC_NodeLabels();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_AtomContext extends ParserRuleContext {
public OC_LiteralContext oC_Literal() {
return getRuleContext(OC_LiteralContext.class,0);
}
public OC_ParameterContext oC_Parameter() {
return getRuleContext(OC_ParameterContext.class,0);
}
public OC_CaseExpressionContext oC_CaseExpression() {
return getRuleContext(OC_CaseExpressionContext.class,0);
}
public TerminalNode COUNT() { return getToken(CypherParser.COUNT, 0); }
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_ListComprehensionContext oC_ListComprehension() {
return getRuleContext(OC_ListComprehensionContext.class,0);
}
public OC_PatternComprehensionContext oC_PatternComprehension() {
return getRuleContext(OC_PatternComprehensionContext.class,0);
}
public TerminalNode ALL() { return getToken(CypherParser.ALL, 0); }
public OC_FilterExpressionContext oC_FilterExpression() {
return getRuleContext(OC_FilterExpressionContext.class,0);
}
public TerminalNode ANY() { return getToken(CypherParser.ANY, 0); }
public TerminalNode NONE() { return getToken(CypherParser.NONE, 0); }
public TerminalNode SINGLE() { return getToken(CypherParser.SINGLE, 0); }
public OC_RelationshipsPatternContext oC_RelationshipsPattern() {
return getRuleContext(OC_RelationshipsPatternContext.class,0);
}
public OC_ParenthesizedExpressionContext oC_ParenthesizedExpression() {
return getRuleContext(OC_ParenthesizedExpressionContext.class,0);
}
public OC_FunctionInvocationContext oC_FunctionInvocation() {
return getRuleContext(OC_FunctionInvocationContext.class,0);
}
public OC_VariableContext oC_Variable() {
return getRuleContext(OC_VariableContext.class,0);
}
public OC_AtomContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_Atom; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_Atom(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_Atom(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_Atom(this);
else return visitor.visitChildren(this);
}
}
public final OC_AtomContext oC_Atom() throws RecognitionException {
OC_AtomContext _localctx = new OC_AtomContext(_ctx, getState());
enterRule(_localctx, 128, RULE_oC_Atom);
int _la;
try {
setState(1157);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,200,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1079);
oC_Literal();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1080);
oC_Parameter();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(1081);
oC_CaseExpression();
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
{
setState(1082);
match(COUNT);
setState(1084);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1083);
match(SP);
}
}
setState(1086);
match(T__6);
setState(1088);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1087);
match(SP);
}
}
setState(1090);
match(T__5);
setState(1092);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1091);
match(SP);
}
}
setState(1094);
match(T__7);
}
}
break;
case 5:
enterOuterAlt(_localctx, 5);
{
setState(1095);
oC_ListComprehension();
}
break;
case 6:
enterOuterAlt(_localctx, 6);
{
setState(1096);
oC_PatternComprehension();
}
break;
case 7:
enterOuterAlt(_localctx, 7);
{
{
setState(1097);
match(ALL);
setState(1099);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1098);
match(SP);
}
}
setState(1101);
match(T__6);
setState(1103);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1102);
match(SP);
}
}
setState(1105);
oC_FilterExpression();
setState(1107);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1106);
match(SP);
}
}
setState(1109);
match(T__7);
}
}
break;
case 8:
enterOuterAlt(_localctx, 8);
{
{
setState(1111);
match(ANY);
setState(1113);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1112);
match(SP);
}
}
setState(1115);
match(T__6);
setState(1117);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1116);
match(SP);
}
}
setState(1119);
oC_FilterExpression();
setState(1121);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1120);
match(SP);
}
}
setState(1123);
match(T__7);
}
}
break;
case 9:
enterOuterAlt(_localctx, 9);
{
{
setState(1125);
match(NONE);
setState(1127);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1126);
match(SP);
}
}
setState(1129);
match(T__6);
setState(1131);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1130);
match(SP);
}
}
setState(1133);
oC_FilterExpression();
setState(1135);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1134);
match(SP);
}
}
setState(1137);
match(T__7);
}
}
break;
case 10:
enterOuterAlt(_localctx, 10);
{
{
setState(1139);
match(SINGLE);
setState(1141);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1140);
match(SP);
}
}
setState(1143);
match(T__6);
setState(1145);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1144);
match(SP);
}
}
setState(1147);
oC_FilterExpression();
setState(1149);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1148);
match(SP);
}
}
setState(1151);
match(T__7);
}
}
break;
case 11:
enterOuterAlt(_localctx, 11);
{
setState(1153);
oC_RelationshipsPattern();
}
break;
case 12:
enterOuterAlt(_localctx, 12);
{
setState(1154);
oC_ParenthesizedExpression();
}
break;
case 13:
enterOuterAlt(_localctx, 13);
{
setState(1155);
oC_FunctionInvocation();
}
break;
case 14:
enterOuterAlt(_localctx, 14);
{
setState(1156);
oC_Variable();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_LiteralContext extends ParserRuleContext {
public OC_NumberLiteralContext oC_NumberLiteral() {
return getRuleContext(OC_NumberLiteralContext.class,0);
}
public TerminalNode StringLiteral() { return getToken(CypherParser.StringLiteral, 0); }
public OC_BooleanLiteralContext oC_BooleanLiteral() {
return getRuleContext(OC_BooleanLiteralContext.class,0);
}
public TerminalNode NULL() { return getToken(CypherParser.NULL, 0); }
public OC_MapLiteralContext oC_MapLiteral() {
return getRuleContext(OC_MapLiteralContext.class,0);
}
public OC_ListLiteralContext oC_ListLiteral() {
return getRuleContext(OC_ListLiteralContext.class,0);
}
public OC_LiteralContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_Literal; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_Literal(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_Literal(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_Literal(this);
else return visitor.visitChildren(this);
}
}
public final OC_LiteralContext oC_Literal() throws RecognitionException {
OC_LiteralContext _localctx = new OC_LiteralContext(_ctx, getState());
enterRule(_localctx, 130, RULE_oC_Literal);
try {
setState(1165);
_errHandler.sync(this);
switch (_input.LA(1)) {
case HexInteger:
case DecimalInteger:
case OctalInteger:
case ExponentDecimalReal:
case RegularDecimalReal:
enterOuterAlt(_localctx, 1);
{
setState(1159);
oC_NumberLiteral();
}
break;
case StringLiteral:
enterOuterAlt(_localctx, 2);
{
setState(1160);
match(StringLiteral);
}
break;
case TRUE:
case FALSE:
enterOuterAlt(_localctx, 3);
{
setState(1161);
oC_BooleanLiteral();
}
break;
case NULL:
enterOuterAlt(_localctx, 4);
{
setState(1162);
match(NULL);
}
break;
case T__23:
enterOuterAlt(_localctx, 5);
{
setState(1163);
oC_MapLiteral();
}
break;
case T__8:
enterOuterAlt(_localctx, 6);
{
setState(1164);
oC_ListLiteral();
}
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 OC_BooleanLiteralContext extends ParserRuleContext {
public TerminalNode TRUE() { return getToken(CypherParser.TRUE, 0); }
public TerminalNode FALSE() { return getToken(CypherParser.FALSE, 0); }
public OC_BooleanLiteralContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_BooleanLiteral; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_BooleanLiteral(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_BooleanLiteral(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_BooleanLiteral(this);
else return visitor.visitChildren(this);
}
}
public final OC_BooleanLiteralContext oC_BooleanLiteral() throws RecognitionException {
OC_BooleanLiteralContext _localctx = new OC_BooleanLiteralContext(_ctx, getState());
enterRule(_localctx, 132, RULE_oC_BooleanLiteral);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1167);
_la = _input.LA(1);
if ( !(_la==TRUE || _la==FALSE) ) {
_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 OC_ListLiteralContext extends ParserRuleContext {
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public List oC_Expression() {
return getRuleContexts(OC_ExpressionContext.class);
}
public OC_ExpressionContext oC_Expression(int i) {
return getRuleContext(OC_ExpressionContext.class,i);
}
public OC_ListLiteralContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_ListLiteral; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_ListLiteral(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_ListLiteral(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_ListLiteral(this);
else return visitor.visitChildren(this);
}
}
public final OC_ListLiteralContext oC_ListLiteral() throws RecognitionException {
OC_ListLiteralContext _localctx = new OC_ListLiteralContext(_ctx, getState());
enterRule(_localctx, 134, RULE_oC_ListLiteral);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1169);
match(T__8);
setState(1171);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1170);
match(SP);
}
}
setState(1190);
_errHandler.sync(this);
_la = _input.LA(1);
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__4) | (1L << T__6) | (1L << T__8) | (1L << T__13) | (1L << T__23) | (1L << T__25) | (1L << ALL))) != 0) || ((((_la - 76)) & ~0x3f) == 0 && ((1L << (_la - 76)) & ((1L << (NOT - 76)) | (1L << (NULL - 76)) | (1L << (COUNT - 76)) | (1L << (ANY - 76)) | (1L << (NONE - 76)) | (1L << (SINGLE - 76)) | (1L << (TRUE - 76)) | (1L << (FALSE - 76)) | (1L << (EXISTS - 76)) | (1L << (CASE - 76)) | (1L << (StringLiteral - 76)) | (1L << (HexInteger - 76)) | (1L << (DecimalInteger - 76)) | (1L << (OctalInteger - 76)) | (1L << (HexLetter - 76)) | (1L << (ExponentDecimalReal - 76)) | (1L << (RegularDecimalReal - 76)) | (1L << (FILTER - 76)) | (1L << (EXTRACT - 76)) | (1L << (UnescapedSymbolicName - 76)) | (1L << (EscapedSymbolicName - 76)))) != 0)) {
{
setState(1173);
oC_Expression();
setState(1175);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1174);
match(SP);
}
}
setState(1187);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==T__1) {
{
{
setState(1177);
match(T__1);
setState(1179);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1178);
match(SP);
}
}
setState(1181);
oC_Expression();
setState(1183);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1182);
match(SP);
}
}
}
}
setState(1189);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
setState(1192);
match(T__9);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_PartialComparisonExpressionContext extends ParserRuleContext {
public OC_AddOrSubtractExpressionContext oC_AddOrSubtractExpression() {
return getRuleContext(OC_AddOrSubtractExpressionContext.class,0);
}
public TerminalNode SP() { return getToken(CypherParser.SP, 0); }
public OC_PartialComparisonExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_PartialComparisonExpression; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_PartialComparisonExpression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_PartialComparisonExpression(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_PartialComparisonExpression(this);
else return visitor.visitChildren(this);
}
}
public final OC_PartialComparisonExpressionContext oC_PartialComparisonExpression() throws RecognitionException {
OC_PartialComparisonExpressionContext _localctx = new OC_PartialComparisonExpressionContext(_ctx, getState());
enterRule(_localctx, 136, RULE_oC_PartialComparisonExpression);
int _la;
try {
setState(1224);
_errHandler.sync(this);
switch (_input.LA(1)) {
case T__2:
enterOuterAlt(_localctx, 1);
{
{
setState(1194);
match(T__2);
setState(1196);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1195);
match(SP);
}
}
setState(1198);
oC_AddOrSubtractExpression();
}
}
break;
case T__17:
enterOuterAlt(_localctx, 2);
{
{
setState(1199);
match(T__17);
setState(1201);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1200);
match(SP);
}
}
setState(1203);
oC_AddOrSubtractExpression();
}
}
break;
case T__18:
enterOuterAlt(_localctx, 3);
{
{
setState(1204);
match(T__18);
setState(1206);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1205);
match(SP);
}
}
setState(1208);
oC_AddOrSubtractExpression();
}
}
break;
case T__19:
enterOuterAlt(_localctx, 4);
{
{
setState(1209);
match(T__19);
setState(1211);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1210);
match(SP);
}
}
setState(1213);
oC_AddOrSubtractExpression();
}
}
break;
case T__20:
enterOuterAlt(_localctx, 5);
{
{
setState(1214);
match(T__20);
setState(1216);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1215);
match(SP);
}
}
setState(1218);
oC_AddOrSubtractExpression();
}
}
break;
case T__21:
enterOuterAlt(_localctx, 6);
{
{
setState(1219);
match(T__21);
setState(1221);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1220);
match(SP);
}
}
setState(1223);
oC_AddOrSubtractExpression();
}
}
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 OC_ParenthesizedExpressionContext extends ParserRuleContext {
public OC_ExpressionContext oC_Expression() {
return getRuleContext(OC_ExpressionContext.class,0);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_ParenthesizedExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_ParenthesizedExpression; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_ParenthesizedExpression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_ParenthesizedExpression(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_ParenthesizedExpression(this);
else return visitor.visitChildren(this);
}
}
public final OC_ParenthesizedExpressionContext oC_ParenthesizedExpression() throws RecognitionException {
OC_ParenthesizedExpressionContext _localctx = new OC_ParenthesizedExpressionContext(_ctx, getState());
enterRule(_localctx, 138, RULE_oC_ParenthesizedExpression);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1226);
match(T__6);
setState(1228);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1227);
match(SP);
}
}
setState(1230);
oC_Expression();
setState(1232);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1231);
match(SP);
}
}
setState(1234);
match(T__7);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_RelationshipsPatternContext extends ParserRuleContext {
public OC_NodePatternContext oC_NodePattern() {
return getRuleContext(OC_NodePatternContext.class,0);
}
public List oC_PatternElementChain() {
return getRuleContexts(OC_PatternElementChainContext.class);
}
public OC_PatternElementChainContext oC_PatternElementChain(int i) {
return getRuleContext(OC_PatternElementChainContext.class,i);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_RelationshipsPatternContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_RelationshipsPattern; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_RelationshipsPattern(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_RelationshipsPattern(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_RelationshipsPattern(this);
else return visitor.visitChildren(this);
}
}
public final OC_RelationshipsPatternContext oC_RelationshipsPattern() throws RecognitionException {
OC_RelationshipsPatternContext _localctx = new OC_RelationshipsPatternContext(_ctx, getState());
enterRule(_localctx, 140, RULE_oC_RelationshipsPattern);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(1236);
oC_NodePattern();
setState(1241);
_errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
setState(1238);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1237);
match(SP);
}
}
setState(1240);
oC_PatternElementChain();
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(1243);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,218,_ctx);
} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_FilterExpressionContext extends ParserRuleContext {
public OC_IdInCollContext oC_IdInColl() {
return getRuleContext(OC_IdInCollContext.class,0);
}
public OC_WhereContext oC_Where() {
return getRuleContext(OC_WhereContext.class,0);
}
public TerminalNode SP() { return getToken(CypherParser.SP, 0); }
public OC_FilterExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_FilterExpression; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_FilterExpression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_FilterExpression(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_FilterExpression(this);
else return visitor.visitChildren(this);
}
}
public final OC_FilterExpressionContext oC_FilterExpression() throws RecognitionException {
OC_FilterExpressionContext _localctx = new OC_FilterExpressionContext(_ctx, getState());
enterRule(_localctx, 142, RULE_oC_FilterExpression);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1245);
oC_IdInColl();
setState(1250);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,220,_ctx) ) {
case 1:
{
setState(1247);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1246);
match(SP);
}
}
setState(1249);
oC_Where();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_IdInCollContext extends ParserRuleContext {
public OC_VariableContext oC_Variable() {
return getRuleContext(OC_VariableContext.class,0);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public TerminalNode IN() { return getToken(CypherParser.IN, 0); }
public OC_ExpressionContext oC_Expression() {
return getRuleContext(OC_ExpressionContext.class,0);
}
public OC_IdInCollContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_IdInColl; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_IdInColl(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_IdInColl(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_IdInColl(this);
else return visitor.visitChildren(this);
}
}
public final OC_IdInCollContext oC_IdInColl() throws RecognitionException {
OC_IdInCollContext _localctx = new OC_IdInCollContext(_ctx, getState());
enterRule(_localctx, 144, RULE_oC_IdInColl);
try {
enterOuterAlt(_localctx, 1);
{
setState(1252);
oC_Variable();
setState(1253);
match(SP);
setState(1254);
match(IN);
setState(1255);
match(SP);
setState(1256);
oC_Expression();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_FunctionInvocationContext extends ParserRuleContext {
public OC_FunctionNameContext oC_FunctionName() {
return getRuleContext(OC_FunctionNameContext.class,0);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public TerminalNode DISTINCT() { return getToken(CypherParser.DISTINCT, 0); }
public List oC_Expression() {
return getRuleContexts(OC_ExpressionContext.class);
}
public OC_ExpressionContext oC_Expression(int i) {
return getRuleContext(OC_ExpressionContext.class,i);
}
public OC_FunctionInvocationContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_FunctionInvocation; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_FunctionInvocation(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_FunctionInvocation(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_FunctionInvocation(this);
else return visitor.visitChildren(this);
}
}
public final OC_FunctionInvocationContext oC_FunctionInvocation() throws RecognitionException {
OC_FunctionInvocationContext _localctx = new OC_FunctionInvocationContext(_ctx, getState());
enterRule(_localctx, 146, RULE_oC_FunctionInvocation);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1258);
oC_FunctionName();
setState(1260);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1259);
match(SP);
}
}
setState(1262);
match(T__6);
setState(1264);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1263);
match(SP);
}
}
setState(1270);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==DISTINCT) {
{
setState(1266);
match(DISTINCT);
setState(1268);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1267);
match(SP);
}
}
}
}
setState(1289);
_errHandler.sync(this);
_la = _input.LA(1);
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__4) | (1L << T__6) | (1L << T__8) | (1L << T__13) | (1L << T__23) | (1L << T__25) | (1L << ALL))) != 0) || ((((_la - 76)) & ~0x3f) == 0 && ((1L << (_la - 76)) & ((1L << (NOT - 76)) | (1L << (NULL - 76)) | (1L << (COUNT - 76)) | (1L << (ANY - 76)) | (1L << (NONE - 76)) | (1L << (SINGLE - 76)) | (1L << (TRUE - 76)) | (1L << (FALSE - 76)) | (1L << (EXISTS - 76)) | (1L << (CASE - 76)) | (1L << (StringLiteral - 76)) | (1L << (HexInteger - 76)) | (1L << (DecimalInteger - 76)) | (1L << (OctalInteger - 76)) | (1L << (HexLetter - 76)) | (1L << (ExponentDecimalReal - 76)) | (1L << (RegularDecimalReal - 76)) | (1L << (FILTER - 76)) | (1L << (EXTRACT - 76)) | (1L << (UnescapedSymbolicName - 76)) | (1L << (EscapedSymbolicName - 76)))) != 0)) {
{
setState(1272);
oC_Expression();
setState(1274);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1273);
match(SP);
}
}
setState(1286);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==T__1) {
{
{
setState(1276);
match(T__1);
setState(1278);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1277);
match(SP);
}
}
setState(1280);
oC_Expression();
setState(1282);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1281);
match(SP);
}
}
}
}
setState(1288);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
setState(1291);
match(T__7);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_FunctionNameContext extends ParserRuleContext {
public OC_NamespaceContext oC_Namespace() {
return getRuleContext(OC_NamespaceContext.class,0);
}
public OC_SymbolicNameContext oC_SymbolicName() {
return getRuleContext(OC_SymbolicNameContext.class,0);
}
public TerminalNode EXISTS() { return getToken(CypherParser.EXISTS, 0); }
public OC_FunctionNameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_FunctionName; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_FunctionName(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_FunctionName(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_FunctionName(this);
else return visitor.visitChildren(this);
}
}
public final OC_FunctionNameContext oC_FunctionName() throws RecognitionException {
OC_FunctionNameContext _localctx = new OC_FunctionNameContext(_ctx, getState());
enterRule(_localctx, 148, RULE_oC_FunctionName);
try {
setState(1297);
_errHandler.sync(this);
switch (_input.LA(1)) {
case COUNT:
case ANY:
case NONE:
case SINGLE:
case HexLetter:
case FILTER:
case EXTRACT:
case UnescapedSymbolicName:
case EscapedSymbolicName:
enterOuterAlt(_localctx, 1);
{
{
setState(1293);
oC_Namespace();
setState(1294);
oC_SymbolicName();
}
}
break;
case EXISTS:
enterOuterAlt(_localctx, 2);
{
setState(1296);
match(EXISTS);
}
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 OC_ExplicitProcedureInvocationContext extends ParserRuleContext {
public OC_ProcedureNameContext oC_ProcedureName() {
return getRuleContext(OC_ProcedureNameContext.class,0);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public List oC_Expression() {
return getRuleContexts(OC_ExpressionContext.class);
}
public OC_ExpressionContext oC_Expression(int i) {
return getRuleContext(OC_ExpressionContext.class,i);
}
public OC_ExplicitProcedureInvocationContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_ExplicitProcedureInvocation; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_ExplicitProcedureInvocation(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_ExplicitProcedureInvocation(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_ExplicitProcedureInvocation(this);
else return visitor.visitChildren(this);
}
}
public final OC_ExplicitProcedureInvocationContext oC_ExplicitProcedureInvocation() throws RecognitionException {
OC_ExplicitProcedureInvocationContext _localctx = new OC_ExplicitProcedureInvocationContext(_ctx, getState());
enterRule(_localctx, 150, RULE_oC_ExplicitProcedureInvocation);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1299);
oC_ProcedureName();
setState(1301);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1300);
match(SP);
}
}
setState(1303);
match(T__6);
setState(1305);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1304);
match(SP);
}
}
setState(1324);
_errHandler.sync(this);
_la = _input.LA(1);
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__4) | (1L << T__6) | (1L << T__8) | (1L << T__13) | (1L << T__23) | (1L << T__25) | (1L << ALL))) != 0) || ((((_la - 76)) & ~0x3f) == 0 && ((1L << (_la - 76)) & ((1L << (NOT - 76)) | (1L << (NULL - 76)) | (1L << (COUNT - 76)) | (1L << (ANY - 76)) | (1L << (NONE - 76)) | (1L << (SINGLE - 76)) | (1L << (TRUE - 76)) | (1L << (FALSE - 76)) | (1L << (EXISTS - 76)) | (1L << (CASE - 76)) | (1L << (StringLiteral - 76)) | (1L << (HexInteger - 76)) | (1L << (DecimalInteger - 76)) | (1L << (OctalInteger - 76)) | (1L << (HexLetter - 76)) | (1L << (ExponentDecimalReal - 76)) | (1L << (RegularDecimalReal - 76)) | (1L << (FILTER - 76)) | (1L << (EXTRACT - 76)) | (1L << (UnescapedSymbolicName - 76)) | (1L << (EscapedSymbolicName - 76)))) != 0)) {
{
setState(1307);
oC_Expression();
setState(1309);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1308);
match(SP);
}
}
setState(1321);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==T__1) {
{
{
setState(1311);
match(T__1);
setState(1313);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1312);
match(SP);
}
}
setState(1315);
oC_Expression();
setState(1317);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1316);
match(SP);
}
}
}
}
setState(1323);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
setState(1326);
match(T__7);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_ImplicitProcedureInvocationContext extends ParserRuleContext {
public OC_ProcedureNameContext oC_ProcedureName() {
return getRuleContext(OC_ProcedureNameContext.class,0);
}
public OC_ImplicitProcedureInvocationContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_ImplicitProcedureInvocation; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_ImplicitProcedureInvocation(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_ImplicitProcedureInvocation(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_ImplicitProcedureInvocation(this);
else return visitor.visitChildren(this);
}
}
public final OC_ImplicitProcedureInvocationContext oC_ImplicitProcedureInvocation() throws RecognitionException {
OC_ImplicitProcedureInvocationContext _localctx = new OC_ImplicitProcedureInvocationContext(_ctx, getState());
enterRule(_localctx, 152, RULE_oC_ImplicitProcedureInvocation);
try {
enterOuterAlt(_localctx, 1);
{
setState(1328);
oC_ProcedureName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_ProcedureResultFieldContext extends ParserRuleContext {
public OC_SymbolicNameContext oC_SymbolicName() {
return getRuleContext(OC_SymbolicNameContext.class,0);
}
public OC_ProcedureResultFieldContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_ProcedureResultField; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_ProcedureResultField(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_ProcedureResultField(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_ProcedureResultField(this);
else return visitor.visitChildren(this);
}
}
public final OC_ProcedureResultFieldContext oC_ProcedureResultField() throws RecognitionException {
OC_ProcedureResultFieldContext _localctx = new OC_ProcedureResultFieldContext(_ctx, getState());
enterRule(_localctx, 154, RULE_oC_ProcedureResultField);
try {
enterOuterAlt(_localctx, 1);
{
setState(1330);
oC_SymbolicName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_ProcedureNameContext extends ParserRuleContext {
public OC_NamespaceContext oC_Namespace() {
return getRuleContext(OC_NamespaceContext.class,0);
}
public OC_SymbolicNameContext oC_SymbolicName() {
return getRuleContext(OC_SymbolicNameContext.class,0);
}
public OC_ProcedureNameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_ProcedureName; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_ProcedureName(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_ProcedureName(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_ProcedureName(this);
else return visitor.visitChildren(this);
}
}
public final OC_ProcedureNameContext oC_ProcedureName() throws RecognitionException {
OC_ProcedureNameContext _localctx = new OC_ProcedureNameContext(_ctx, getState());
enterRule(_localctx, 156, RULE_oC_ProcedureName);
try {
enterOuterAlt(_localctx, 1);
{
setState(1332);
oC_Namespace();
setState(1333);
oC_SymbolicName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_NamespaceContext extends ParserRuleContext {
public List oC_SymbolicName() {
return getRuleContexts(OC_SymbolicNameContext.class);
}
public OC_SymbolicNameContext oC_SymbolicName(int i) {
return getRuleContext(OC_SymbolicNameContext.class,i);
}
public OC_NamespaceContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_Namespace; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_Namespace(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_Namespace(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_Namespace(this);
else return visitor.visitChildren(this);
}
}
public final OC_NamespaceContext oC_Namespace() throws RecognitionException {
OC_NamespaceContext _localctx = new OC_NamespaceContext(_ctx, getState());
enterRule(_localctx, 158, RULE_oC_Namespace);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(1340);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,238,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(1335);
oC_SymbolicName();
setState(1336);
match(T__22);
}
}
}
setState(1342);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,238,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_ListComprehensionContext extends ParserRuleContext {
public OC_FilterExpressionContext oC_FilterExpression() {
return getRuleContext(OC_FilterExpressionContext.class,0);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_ExpressionContext oC_Expression() {
return getRuleContext(OC_ExpressionContext.class,0);
}
public OC_ListComprehensionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_ListComprehension; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_ListComprehension(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_ListComprehension(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_ListComprehension(this);
else return visitor.visitChildren(this);
}
}
public final OC_ListComprehensionContext oC_ListComprehension() throws RecognitionException {
OC_ListComprehensionContext _localctx = new OC_ListComprehensionContext(_ctx, getState());
enterRule(_localctx, 160, RULE_oC_ListComprehension);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1343);
match(T__8);
setState(1345);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1344);
match(SP);
}
}
setState(1347);
oC_FilterExpression();
setState(1356);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,242,_ctx) ) {
case 1:
{
setState(1349);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1348);
match(SP);
}
}
setState(1351);
match(T__11);
setState(1353);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1352);
match(SP);
}
}
setState(1355);
oC_Expression();
}
break;
}
setState(1359);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1358);
match(SP);
}
}
setState(1361);
match(T__9);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_PatternComprehensionContext extends ParserRuleContext {
public OC_RelationshipsPatternContext oC_RelationshipsPattern() {
return getRuleContext(OC_RelationshipsPatternContext.class,0);
}
public List oC_Expression() {
return getRuleContexts(OC_ExpressionContext.class);
}
public OC_ExpressionContext oC_Expression(int i) {
return getRuleContext(OC_ExpressionContext.class,i);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_VariableContext oC_Variable() {
return getRuleContext(OC_VariableContext.class,0);
}
public TerminalNode WHERE() { return getToken(CypherParser.WHERE, 0); }
public OC_PatternComprehensionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_PatternComprehension; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_PatternComprehension(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_PatternComprehension(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_PatternComprehension(this);
else return visitor.visitChildren(this);
}
}
public final OC_PatternComprehensionContext oC_PatternComprehension() throws RecognitionException {
OC_PatternComprehensionContext _localctx = new OC_PatternComprehensionContext(_ctx, getState());
enterRule(_localctx, 162, RULE_oC_PatternComprehension);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1363);
match(T__8);
setState(1365);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1364);
match(SP);
}
}
setState(1375);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 83)) & ~0x3f) == 0 && ((1L << (_la - 83)) & ((1L << (COUNT - 83)) | (1L << (ANY - 83)) | (1L << (NONE - 83)) | (1L << (SINGLE - 83)) | (1L << (HexLetter - 83)) | (1L << (FILTER - 83)) | (1L << (EXTRACT - 83)) | (1L << (UnescapedSymbolicName - 83)) | (1L << (EscapedSymbolicName - 83)))) != 0)) {
{
setState(1367);
oC_Variable();
setState(1369);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1368);
match(SP);
}
}
setState(1371);
match(T__2);
setState(1373);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1372);
match(SP);
}
}
}
}
setState(1377);
oC_RelationshipsPattern();
setState(1379);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1378);
match(SP);
}
}
setState(1389);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==WHERE) {
{
setState(1381);
match(WHERE);
setState(1383);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1382);
match(SP);
}
}
setState(1385);
oC_Expression();
setState(1387);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1386);
match(SP);
}
}
}
}
setState(1391);
match(T__11);
setState(1393);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1392);
match(SP);
}
}
setState(1395);
oC_Expression();
setState(1397);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1396);
match(SP);
}
}
setState(1399);
match(T__9);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_PropertyLookupContext extends ParserRuleContext {
public OC_PropertyKeyNameContext oC_PropertyKeyName() {
return getRuleContext(OC_PropertyKeyNameContext.class,0);
}
public TerminalNode SP() { return getToken(CypherParser.SP, 0); }
public OC_PropertyLookupContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_PropertyLookup; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_PropertyLookup(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_PropertyLookup(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_PropertyLookup(this);
else return visitor.visitChildren(this);
}
}
public final OC_PropertyLookupContext oC_PropertyLookup() throws RecognitionException {
OC_PropertyLookupContext _localctx = new OC_PropertyLookupContext(_ctx, getState());
enterRule(_localctx, 164, RULE_oC_PropertyLookup);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1401);
match(T__22);
setState(1403);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1402);
match(SP);
}
}
{
setState(1405);
oC_PropertyKeyName();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_CaseExpressionContext extends ParserRuleContext {
public TerminalNode END() { return getToken(CypherParser.END, 0); }
public TerminalNode ELSE() { return getToken(CypherParser.ELSE, 0); }
public List oC_Expression() {
return getRuleContexts(OC_ExpressionContext.class);
}
public OC_ExpressionContext oC_Expression(int i) {
return getRuleContext(OC_ExpressionContext.class,i);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public TerminalNode CASE() { return getToken(CypherParser.CASE, 0); }
public List oC_CaseAlternatives() {
return getRuleContexts(OC_CaseAlternativesContext.class);
}
public OC_CaseAlternativesContext oC_CaseAlternatives(int i) {
return getRuleContext(OC_CaseAlternativesContext.class,i);
}
public OC_CaseExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_CaseExpression; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_CaseExpression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_CaseExpression(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_CaseExpression(this);
else return visitor.visitChildren(this);
}
}
public final OC_CaseExpressionContext oC_CaseExpression() throws RecognitionException {
OC_CaseExpressionContext _localctx = new OC_CaseExpressionContext(_ctx, getState());
enterRule(_localctx, 166, RULE_oC_CaseExpression);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(1429);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,260,_ctx) ) {
case 1:
{
{
setState(1407);
match(CASE);
setState(1412);
_errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
setState(1409);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1408);
match(SP);
}
}
setState(1411);
oC_CaseAlternatives();
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(1414);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,256,_ctx);
} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
}
}
break;
case 2:
{
{
setState(1416);
match(CASE);
setState(1418);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1417);
match(SP);
}
}
setState(1420);
oC_Expression();
setState(1425);
_errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
setState(1422);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1421);
match(SP);
}
}
setState(1424);
oC_CaseAlternatives();
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(1427);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,259,_ctx);
} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
}
}
break;
}
setState(1439);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,263,_ctx) ) {
case 1:
{
setState(1432);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1431);
match(SP);
}
}
setState(1434);
match(ELSE);
setState(1436);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1435);
match(SP);
}
}
setState(1438);
oC_Expression();
}
break;
}
setState(1442);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1441);
match(SP);
}
}
setState(1444);
match(END);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_CaseAlternativesContext extends ParserRuleContext {
public TerminalNode WHEN() { return getToken(CypherParser.WHEN, 0); }
public List oC_Expression() {
return getRuleContexts(OC_ExpressionContext.class);
}
public OC_ExpressionContext oC_Expression(int i) {
return getRuleContext(OC_ExpressionContext.class,i);
}
public TerminalNode THEN() { return getToken(CypherParser.THEN, 0); }
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_CaseAlternativesContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_CaseAlternatives; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_CaseAlternatives(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_CaseAlternatives(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_CaseAlternatives(this);
else return visitor.visitChildren(this);
}
}
public final OC_CaseAlternativesContext oC_CaseAlternatives() throws RecognitionException {
OC_CaseAlternativesContext _localctx = new OC_CaseAlternativesContext(_ctx, getState());
enterRule(_localctx, 168, RULE_oC_CaseAlternatives);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1446);
match(WHEN);
setState(1448);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1447);
match(SP);
}
}
setState(1450);
oC_Expression();
setState(1452);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1451);
match(SP);
}
}
setState(1454);
match(THEN);
setState(1456);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1455);
match(SP);
}
}
setState(1458);
oC_Expression();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_VariableContext extends ParserRuleContext {
public OC_SymbolicNameContext oC_SymbolicName() {
return getRuleContext(OC_SymbolicNameContext.class,0);
}
public OC_VariableContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_Variable; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_Variable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_Variable(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_Variable(this);
else return visitor.visitChildren(this);
}
}
public final OC_VariableContext oC_Variable() throws RecognitionException {
OC_VariableContext _localctx = new OC_VariableContext(_ctx, getState());
enterRule(_localctx, 170, RULE_oC_Variable);
try {
enterOuterAlt(_localctx, 1);
{
setState(1460);
oC_SymbolicName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_NumberLiteralContext extends ParserRuleContext {
public OC_DoubleLiteralContext oC_DoubleLiteral() {
return getRuleContext(OC_DoubleLiteralContext.class,0);
}
public OC_IntegerLiteralContext oC_IntegerLiteral() {
return getRuleContext(OC_IntegerLiteralContext.class,0);
}
public OC_NumberLiteralContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_NumberLiteral; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_NumberLiteral(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_NumberLiteral(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_NumberLiteral(this);
else return visitor.visitChildren(this);
}
}
public final OC_NumberLiteralContext oC_NumberLiteral() throws RecognitionException {
OC_NumberLiteralContext _localctx = new OC_NumberLiteralContext(_ctx, getState());
enterRule(_localctx, 172, RULE_oC_NumberLiteral);
try {
setState(1464);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ExponentDecimalReal:
case RegularDecimalReal:
enterOuterAlt(_localctx, 1);
{
setState(1462);
oC_DoubleLiteral();
}
break;
case HexInteger:
case DecimalInteger:
case OctalInteger:
enterOuterAlt(_localctx, 2);
{
setState(1463);
oC_IntegerLiteral();
}
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 OC_MapLiteralContext extends ParserRuleContext {
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public List oC_PropertyKeyName() {
return getRuleContexts(OC_PropertyKeyNameContext.class);
}
public OC_PropertyKeyNameContext oC_PropertyKeyName(int i) {
return getRuleContext(OC_PropertyKeyNameContext.class,i);
}
public List oC_Expression() {
return getRuleContexts(OC_ExpressionContext.class);
}
public OC_ExpressionContext oC_Expression(int i) {
return getRuleContext(OC_ExpressionContext.class,i);
}
public OC_MapLiteralContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_MapLiteral; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_MapLiteral(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_MapLiteral(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_MapLiteral(this);
else return visitor.visitChildren(this);
}
}
public final OC_MapLiteralContext oC_MapLiteral() throws RecognitionException {
OC_MapLiteralContext _localctx = new OC_MapLiteralContext(_ctx, getState());
enterRule(_localctx, 174, RULE_oC_MapLiteral);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1466);
match(T__23);
setState(1468);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1467);
match(SP);
}
}
setState(1503);
_errHandler.sync(this);
_la = _input.LA(1);
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << UNION) | (1L << ALL) | (1L << OPTIONAL) | (1L << MATCH) | (1L << UNWIND) | (1L << AS) | (1L << MERGE) | (1L << ON) | (1L << CREATE) | (1L << SET) | (1L << DETACH) | (1L << DELETE) | (1L << REMOVE) | (1L << WITH) | (1L << DISTINCT) | (1L << RETURN))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (ORDER - 64)) | (1L << (BY - 64)) | (1L << (L_SKIP - 64)) | (1L << (LIMIT - 64)) | (1L << (ASCENDING - 64)) | (1L << (ASC - 64)) | (1L << (DESCENDING - 64)) | (1L << (DESC - 64)) | (1L << (WHERE - 64)) | (1L << (OR - 64)) | (1L << (XOR - 64)) | (1L << (AND - 64)) | (1L << (NOT - 64)) | (1L << (IN - 64)) | (1L << (STARTS - 64)) | (1L << (ENDS - 64)) | (1L << (CONTAINS - 64)) | (1L << (IS - 64)) | (1L << (NULL - 64)) | (1L << (COUNT - 64)) | (1L << (ANY - 64)) | (1L << (NONE - 64)) | (1L << (SINGLE - 64)) | (1L << (TRUE - 64)) | (1L << (FALSE - 64)) | (1L << (EXISTS - 64)) | (1L << (CASE - 64)) | (1L << (ELSE - 64)) | (1L << (END - 64)) | (1L << (WHEN - 64)) | (1L << (THEN - 64)) | (1L << (HexLetter - 64)) | (1L << (CONSTRAINT - 64)) | (1L << (DO - 64)) | (1L << (FOR - 64)) | (1L << (REQUIRE - 64)) | (1L << (UNIQUE - 64)) | (1L << (MANDATORY - 64)) | (1L << (SCALAR - 64)) | (1L << (OF - 64)) | (1L << (ADD - 64)) | (1L << (DROP - 64)) | (1L << (FILTER - 64)) | (1L << (EXTRACT - 64)) | (1L << (UnescapedSymbolicName - 64)) | (1L << (EscapedSymbolicName - 64)))) != 0)) {
{
setState(1470);
oC_PropertyKeyName();
setState(1472);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1471);
match(SP);
}
}
setState(1474);
match(T__10);
setState(1476);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1475);
match(SP);
}
}
setState(1478);
oC_Expression();
setState(1480);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1479);
match(SP);
}
}
setState(1500);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==T__1) {
{
{
setState(1482);
match(T__1);
setState(1484);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1483);
match(SP);
}
}
setState(1486);
oC_PropertyKeyName();
setState(1488);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1487);
match(SP);
}
}
setState(1490);
match(T__10);
setState(1492);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1491);
match(SP);
}
}
setState(1494);
oC_Expression();
setState(1496);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1495);
match(SP);
}
}
}
}
setState(1502);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
setState(1505);
match(T__24);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_ParameterContext extends ParserRuleContext {
public OC_SymbolicNameContext oC_SymbolicName() {
return getRuleContext(OC_SymbolicNameContext.class,0);
}
public TerminalNode DecimalInteger() { return getToken(CypherParser.DecimalInteger, 0); }
public OC_ParameterContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_Parameter; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_Parameter(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_Parameter(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_Parameter(this);
else return visitor.visitChildren(this);
}
}
public final OC_ParameterContext oC_Parameter() throws RecognitionException {
OC_ParameterContext _localctx = new OC_ParameterContext(_ctx, getState());
enterRule(_localctx, 176, RULE_oC_Parameter);
try {
enterOuterAlt(_localctx, 1);
{
setState(1507);
match(T__25);
setState(1510);
_errHandler.sync(this);
switch (_input.LA(1)) {
case COUNT:
case ANY:
case NONE:
case SINGLE:
case HexLetter:
case FILTER:
case EXTRACT:
case UnescapedSymbolicName:
case EscapedSymbolicName:
{
setState(1508);
oC_SymbolicName();
}
break;
case DecimalInteger:
{
setState(1509);
match(DecimalInteger);
}
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 OC_PropertyExpressionContext extends ParserRuleContext {
public OC_AtomContext oC_Atom() {
return getRuleContext(OC_AtomContext.class,0);
}
public List oC_PropertyLookup() {
return getRuleContexts(OC_PropertyLookupContext.class);
}
public OC_PropertyLookupContext oC_PropertyLookup(int i) {
return getRuleContext(OC_PropertyLookupContext.class,i);
}
public List SP() { return getTokens(CypherParser.SP); }
public TerminalNode SP(int i) {
return getToken(CypherParser.SP, i);
}
public OC_PropertyExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_PropertyExpression; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_PropertyExpression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_PropertyExpression(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_PropertyExpression(this);
else return visitor.visitChildren(this);
}
}
public final OC_PropertyExpressionContext oC_PropertyExpression() throws RecognitionException {
OC_PropertyExpressionContext _localctx = new OC_PropertyExpressionContext(_ctx, getState());
enterRule(_localctx, 178, RULE_oC_PropertyExpression);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(1512);
oC_Atom();
setState(1517);
_errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
setState(1514);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SP) {
{
setState(1513);
match(SP);
}
}
setState(1516);
oC_PropertyLookup();
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(1519);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,281,_ctx);
} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_PropertyKeyNameContext extends ParserRuleContext {
public OC_SchemaNameContext oC_SchemaName() {
return getRuleContext(OC_SchemaNameContext.class,0);
}
public OC_PropertyKeyNameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_PropertyKeyName; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_PropertyKeyName(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_PropertyKeyName(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_PropertyKeyName(this);
else return visitor.visitChildren(this);
}
}
public final OC_PropertyKeyNameContext oC_PropertyKeyName() throws RecognitionException {
OC_PropertyKeyNameContext _localctx = new OC_PropertyKeyNameContext(_ctx, getState());
enterRule(_localctx, 180, RULE_oC_PropertyKeyName);
try {
enterOuterAlt(_localctx, 1);
{
setState(1521);
oC_SchemaName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OC_IntegerLiteralContext extends ParserRuleContext {
public TerminalNode HexInteger() { return getToken(CypherParser.HexInteger, 0); }
public TerminalNode OctalInteger() { return getToken(CypherParser.OctalInteger, 0); }
public TerminalNode DecimalInteger() { return getToken(CypherParser.DecimalInteger, 0); }
public OC_IntegerLiteralContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_IntegerLiteral; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_IntegerLiteral(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_IntegerLiteral(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_IntegerLiteral(this);
else return visitor.visitChildren(this);
}
}
public final OC_IntegerLiteralContext oC_IntegerLiteral() throws RecognitionException {
OC_IntegerLiteralContext _localctx = new OC_IntegerLiteralContext(_ctx, getState());
enterRule(_localctx, 182, RULE_oC_IntegerLiteral);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1523);
_la = _input.LA(1);
if ( !(((((_la - 97)) & ~0x3f) == 0 && ((1L << (_la - 97)) & ((1L << (HexInteger - 97)) | (1L << (DecimalInteger - 97)) | (1L << (OctalInteger - 97)))) != 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 OC_DoubleLiteralContext extends ParserRuleContext {
public TerminalNode ExponentDecimalReal() { return getToken(CypherParser.ExponentDecimalReal, 0); }
public TerminalNode RegularDecimalReal() { return getToken(CypherParser.RegularDecimalReal, 0); }
public OC_DoubleLiteralContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_DoubleLiteral; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_DoubleLiteral(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_DoubleLiteral(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_DoubleLiteral(this);
else return visitor.visitChildren(this);
}
}
public final OC_DoubleLiteralContext oC_DoubleLiteral() throws RecognitionException {
OC_DoubleLiteralContext _localctx = new OC_DoubleLiteralContext(_ctx, getState());
enterRule(_localctx, 184, RULE_oC_DoubleLiteral);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1525);
_la = _input.LA(1);
if ( !(_la==ExponentDecimalReal || _la==RegularDecimalReal) ) {
_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 OC_SchemaNameContext extends ParserRuleContext {
public OC_SymbolicNameContext oC_SymbolicName() {
return getRuleContext(OC_SymbolicNameContext.class,0);
}
public OC_ReservedWordContext oC_ReservedWord() {
return getRuleContext(OC_ReservedWordContext.class,0);
}
public OC_SchemaNameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_SchemaName; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_SchemaName(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_SchemaName(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_SchemaName(this);
else return visitor.visitChildren(this);
}
}
public final OC_SchemaNameContext oC_SchemaName() throws RecognitionException {
OC_SchemaNameContext _localctx = new OC_SchemaNameContext(_ctx, getState());
enterRule(_localctx, 186, RULE_oC_SchemaName);
try {
setState(1529);
_errHandler.sync(this);
switch (_input.LA(1)) {
case COUNT:
case ANY:
case NONE:
case SINGLE:
case HexLetter:
case FILTER:
case EXTRACT:
case UnescapedSymbolicName:
case EscapedSymbolicName:
enterOuterAlt(_localctx, 1);
{
setState(1527);
oC_SymbolicName();
}
break;
case UNION:
case ALL:
case OPTIONAL:
case MATCH:
case UNWIND:
case AS:
case MERGE:
case ON:
case CREATE:
case SET:
case DETACH:
case DELETE:
case REMOVE:
case WITH:
case DISTINCT:
case RETURN:
case ORDER:
case BY:
case L_SKIP:
case LIMIT:
case ASCENDING:
case ASC:
case DESCENDING:
case DESC:
case WHERE:
case OR:
case XOR:
case AND:
case NOT:
case IN:
case STARTS:
case ENDS:
case CONTAINS:
case IS:
case NULL:
case TRUE:
case FALSE:
case EXISTS:
case CASE:
case ELSE:
case END:
case WHEN:
case THEN:
case CONSTRAINT:
case DO:
case FOR:
case REQUIRE:
case UNIQUE:
case MANDATORY:
case SCALAR:
case OF:
case ADD:
case DROP:
enterOuterAlt(_localctx, 2);
{
setState(1528);
oC_ReservedWord();
}
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 OC_ReservedWordContext extends ParserRuleContext {
public TerminalNode ALL() { return getToken(CypherParser.ALL, 0); }
public TerminalNode ASC() { return getToken(CypherParser.ASC, 0); }
public TerminalNode ASCENDING() { return getToken(CypherParser.ASCENDING, 0); }
public TerminalNode BY() { return getToken(CypherParser.BY, 0); }
public TerminalNode CREATE() { return getToken(CypherParser.CREATE, 0); }
public TerminalNode DELETE() { return getToken(CypherParser.DELETE, 0); }
public TerminalNode DESC() { return getToken(CypherParser.DESC, 0); }
public TerminalNode DESCENDING() { return getToken(CypherParser.DESCENDING, 0); }
public TerminalNode DETACH() { return getToken(CypherParser.DETACH, 0); }
public TerminalNode EXISTS() { return getToken(CypherParser.EXISTS, 0); }
public TerminalNode LIMIT() { return getToken(CypherParser.LIMIT, 0); }
public TerminalNode MATCH() { return getToken(CypherParser.MATCH, 0); }
public TerminalNode MERGE() { return getToken(CypherParser.MERGE, 0); }
public TerminalNode ON() { return getToken(CypherParser.ON, 0); }
public TerminalNode OPTIONAL() { return getToken(CypherParser.OPTIONAL, 0); }
public TerminalNode ORDER() { return getToken(CypherParser.ORDER, 0); }
public TerminalNode REMOVE() { return getToken(CypherParser.REMOVE, 0); }
public TerminalNode RETURN() { return getToken(CypherParser.RETURN, 0); }
public TerminalNode SET() { return getToken(CypherParser.SET, 0); }
public TerminalNode L_SKIP() { return getToken(CypherParser.L_SKIP, 0); }
public TerminalNode WHERE() { return getToken(CypherParser.WHERE, 0); }
public TerminalNode WITH() { return getToken(CypherParser.WITH, 0); }
public TerminalNode UNION() { return getToken(CypherParser.UNION, 0); }
public TerminalNode UNWIND() { return getToken(CypherParser.UNWIND, 0); }
public TerminalNode AND() { return getToken(CypherParser.AND, 0); }
public TerminalNode AS() { return getToken(CypherParser.AS, 0); }
public TerminalNode CONTAINS() { return getToken(CypherParser.CONTAINS, 0); }
public TerminalNode DISTINCT() { return getToken(CypherParser.DISTINCT, 0); }
public TerminalNode ENDS() { return getToken(CypherParser.ENDS, 0); }
public TerminalNode IN() { return getToken(CypherParser.IN, 0); }
public TerminalNode IS() { return getToken(CypherParser.IS, 0); }
public TerminalNode NOT() { return getToken(CypherParser.NOT, 0); }
public TerminalNode OR() { return getToken(CypherParser.OR, 0); }
public TerminalNode STARTS() { return getToken(CypherParser.STARTS, 0); }
public TerminalNode XOR() { return getToken(CypherParser.XOR, 0); }
public TerminalNode FALSE() { return getToken(CypherParser.FALSE, 0); }
public TerminalNode TRUE() { return getToken(CypherParser.TRUE, 0); }
public TerminalNode NULL() { return getToken(CypherParser.NULL, 0); }
public TerminalNode CONSTRAINT() { return getToken(CypherParser.CONSTRAINT, 0); }
public TerminalNode DO() { return getToken(CypherParser.DO, 0); }
public TerminalNode FOR() { return getToken(CypherParser.FOR, 0); }
public TerminalNode REQUIRE() { return getToken(CypherParser.REQUIRE, 0); }
public TerminalNode UNIQUE() { return getToken(CypherParser.UNIQUE, 0); }
public TerminalNode CASE() { return getToken(CypherParser.CASE, 0); }
public TerminalNode WHEN() { return getToken(CypherParser.WHEN, 0); }
public TerminalNode THEN() { return getToken(CypherParser.THEN, 0); }
public TerminalNode ELSE() { return getToken(CypherParser.ELSE, 0); }
public TerminalNode END() { return getToken(CypherParser.END, 0); }
public TerminalNode MANDATORY() { return getToken(CypherParser.MANDATORY, 0); }
public TerminalNode SCALAR() { return getToken(CypherParser.SCALAR, 0); }
public TerminalNode OF() { return getToken(CypherParser.OF, 0); }
public TerminalNode ADD() { return getToken(CypherParser.ADD, 0); }
public TerminalNode DROP() { return getToken(CypherParser.DROP, 0); }
public OC_ReservedWordContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_ReservedWord; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_ReservedWord(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_ReservedWord(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_ReservedWord(this);
else return visitor.visitChildren(this);
}
}
public final OC_ReservedWordContext oC_ReservedWord() throws RecognitionException {
OC_ReservedWordContext _localctx = new OC_ReservedWordContext(_ctx, getState());
enterRule(_localctx, 188, RULE_oC_ReservedWord);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1531);
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << UNION) | (1L << ALL) | (1L << OPTIONAL) | (1L << MATCH) | (1L << UNWIND) | (1L << AS) | (1L << MERGE) | (1L << ON) | (1L << CREATE) | (1L << SET) | (1L << DETACH) | (1L << DELETE) | (1L << REMOVE) | (1L << WITH) | (1L << DISTINCT) | (1L << RETURN))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (ORDER - 64)) | (1L << (BY - 64)) | (1L << (L_SKIP - 64)) | (1L << (LIMIT - 64)) | (1L << (ASCENDING - 64)) | (1L << (ASC - 64)) | (1L << (DESCENDING - 64)) | (1L << (DESC - 64)) | (1L << (WHERE - 64)) | (1L << (OR - 64)) | (1L << (XOR - 64)) | (1L << (AND - 64)) | (1L << (NOT - 64)) | (1L << (IN - 64)) | (1L << (STARTS - 64)) | (1L << (ENDS - 64)) | (1L << (CONTAINS - 64)) | (1L << (IS - 64)) | (1L << (NULL - 64)) | (1L << (TRUE - 64)) | (1L << (FALSE - 64)) | (1L << (EXISTS - 64)) | (1L << (CASE - 64)) | (1L << (ELSE - 64)) | (1L << (END - 64)) | (1L << (WHEN - 64)) | (1L << (THEN - 64)) | (1L << (CONSTRAINT - 64)) | (1L << (DO - 64)) | (1L << (FOR - 64)) | (1L << (REQUIRE - 64)) | (1L << (UNIQUE - 64)) | (1L << (MANDATORY - 64)) | (1L << (SCALAR - 64)) | (1L << (OF - 64)) | (1L << (ADD - 64)) | (1L << (DROP - 64)))) != 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 OC_SymbolicNameContext extends ParserRuleContext {
public TerminalNode UnescapedSymbolicName() { return getToken(CypherParser.UnescapedSymbolicName, 0); }
public TerminalNode EscapedSymbolicName() { return getToken(CypherParser.EscapedSymbolicName, 0); }
public TerminalNode HexLetter() { return getToken(CypherParser.HexLetter, 0); }
public TerminalNode COUNT() { return getToken(CypherParser.COUNT, 0); }
public TerminalNode FILTER() { return getToken(CypherParser.FILTER, 0); }
public TerminalNode EXTRACT() { return getToken(CypherParser.EXTRACT, 0); }
public TerminalNode ANY() { return getToken(CypherParser.ANY, 0); }
public TerminalNode NONE() { return getToken(CypherParser.NONE, 0); }
public TerminalNode SINGLE() { return getToken(CypherParser.SINGLE, 0); }
public OC_SymbolicNameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_SymbolicName; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_SymbolicName(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_SymbolicName(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_SymbolicName(this);
else return visitor.visitChildren(this);
}
}
public final OC_SymbolicNameContext oC_SymbolicName() throws RecognitionException {
OC_SymbolicNameContext _localctx = new OC_SymbolicNameContext(_ctx, getState());
enterRule(_localctx, 190, RULE_oC_SymbolicName);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1533);
_la = _input.LA(1);
if ( !(((((_la - 83)) & ~0x3f) == 0 && ((1L << (_la - 83)) & ((1L << (COUNT - 83)) | (1L << (ANY - 83)) | (1L << (NONE - 83)) | (1L << (SINGLE - 83)) | (1L << (HexLetter - 83)) | (1L << (FILTER - 83)) | (1L << (EXTRACT - 83)) | (1L << (UnescapedSymbolicName - 83)) | (1L << (EscapedSymbolicName - 83)))) != 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 OC_LeftArrowHeadContext extends ParserRuleContext {
public OC_LeftArrowHeadContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_LeftArrowHead; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_LeftArrowHead(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_LeftArrowHead(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_LeftArrowHead(this);
else return visitor.visitChildren(this);
}
}
public final OC_LeftArrowHeadContext oC_LeftArrowHead() throws RecognitionException {
OC_LeftArrowHeadContext _localctx = new OC_LeftArrowHeadContext(_ctx, getState());
enterRule(_localctx, 192, RULE_oC_LeftArrowHead);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1535);
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__18) | (1L << T__26) | (1L << T__27) | (1L << T__28) | (1L << T__29))) != 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 OC_RightArrowHeadContext extends ParserRuleContext {
public OC_RightArrowHeadContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_RightArrowHead; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_RightArrowHead(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_RightArrowHead(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_RightArrowHead(this);
else return visitor.visitChildren(this);
}
}
public final OC_RightArrowHeadContext oC_RightArrowHead() throws RecognitionException {
OC_RightArrowHeadContext _localctx = new OC_RightArrowHeadContext(_ctx, getState());
enterRule(_localctx, 194, RULE_oC_RightArrowHead);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1537);
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__19) | (1L << T__30) | (1L << T__31) | (1L << T__32) | (1L << T__33))) != 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 OC_DashContext extends ParserRuleContext {
public OC_DashContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_oC_Dash; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).enterOC_Dash(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof CypherListener ) ((CypherListener)listener).exitOC_Dash(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof CypherVisitor ) return ((CypherVisitor extends T>)visitor).visitOC_Dash(this);
else return visitor.visitChildren(this);
}
}
public final OC_DashContext oC_Dash() throws RecognitionException {
OC_DashContext _localctx = new OC_DashContext(_ctx, getState());
enterRule(_localctx, 196, RULE_oC_Dash);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1539);
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__4) | (1L << T__34) | (1L << T__35) | (1L << T__36) | (1L << T__37) | (1L << T__38) | (1L << T__39) | (1L << T__40) | (1L << T__41) | (1L << T__42) | (1L << T__43) | (1L << T__44))) != 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 final String _serializedATN =
"\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3\u0081\u0608\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\4R\tR\4S\tS\4T\tT"+
"\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+
"`\t`\4a\ta\4b\tb\4c\tc\4d\td\3\2\5\2\u00ca\n\2\3\2\3\2\5\2\u00ce\n\2\3"+
"\2\5\2\u00d1\n\2\3\2\5\2\u00d4\n\2\3\2\3\2\3\3\3\3\3\4\3\4\5\4\u00dc\n"+
"\4\3\5\3\5\5\5\u00e0\n\5\3\5\7\5\u00e3\n\5\f\5\16\5\u00e6\13\5\3\6\3\6"+
"\3\6\3\6\5\6\u00ec\n\6\3\6\3\6\3\6\5\6\u00f1\n\6\3\6\5\6\u00f4\n\6\3\7"+
"\3\7\5\7\u00f8\n\7\3\b\3\b\5\b\u00fc\n\b\7\b\u00fe\n\b\f\b\16\b\u0101"+
"\13\b\3\b\3\b\3\b\5\b\u0106\n\b\7\b\u0108\n\b\f\b\16\b\u010b\13\b\3\b"+
"\3\b\5\b\u010f\n\b\3\b\7\b\u0112\n\b\f\b\16\b\u0115\13\b\3\b\5\b\u0118"+
"\n\b\3\b\5\b\u011b\n\b\5\b\u011d\n\b\3\t\3\t\5\t\u0121\n\t\7\t\u0123\n"+
"\t\f\t\16\t\u0126\13\t\3\t\3\t\5\t\u012a\n\t\7\t\u012c\n\t\f\t\16\t\u012f"+
"\13\t\3\t\3\t\5\t\u0133\n\t\6\t\u0135\n\t\r\t\16\t\u0136\3\t\3\t\3\n\3"+
"\n\3\n\3\n\3\n\5\n\u0140\n\n\3\13\3\13\3\13\5\13\u0145\n\13\3\f\3\f\5"+
"\f\u0149\n\f\3\f\3\f\5\f\u014d\n\f\3\f\3\f\5\f\u0151\n\f\3\f\5\f\u0154"+
"\n\f\3\r\3\r\5\r\u0158\n\r\3\r\3\r\3\r\3\r\3\r\3\r\3\16\3\16\5\16\u0162"+
"\n\16\3\16\3\16\3\16\7\16\u0167\n\16\f\16\16\16\u016a\13\16\3\17\3\17"+
"\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\5\17\u0176\n\17\3\20\3\20\5\20"+
"\u017a\n\20\3\20\3\20\3\21\3\21\5\21\u0180\n\21\3\21\3\21\3\21\7\21\u0185"+
"\n\21\f\21\16\21\u0188\13\21\3\22\3\22\5\22\u018c\n\22\3\22\3\22\5\22"+
"\u0190\n\22\3\22\3\22\3\22\3\22\5\22\u0196\n\22\3\22\3\22\5\22\u019a\n"+
"\22\3\22\3\22\3\22\3\22\5\22\u01a0\n\22\3\22\3\22\5\22\u01a4\n\22\3\22"+
"\3\22\3\22\3\22\5\22\u01aa\n\22\3\22\3\22\5\22\u01ae\n\22\3\23\3\23\5"+
"\23\u01b2\n\23\3\23\3\23\5\23\u01b6\n\23\3\23\3\23\5\23\u01ba\n\23\3\23"+
"\3\23\5\23\u01be\n\23\3\23\7\23\u01c1\n\23\f\23\16\23\u01c4\13\23\3\24"+
"\3\24\3\24\3\24\5\24\u01ca\n\24\3\24\3\24\5\24\u01ce\n\24\3\24\7\24\u01d1"+
"\n\24\f\24\16\24\u01d4\13\24\3\25\3\25\3\25\3\25\5\25\u01da\n\25\3\26"+
"\3\26\3\26\3\26\5\26\u01e0\n\26\3\26\3\26\3\26\5\26\u01e5\n\26\3\27\3"+
"\27\3\27\3\27\5\27\u01eb\n\27\3\27\3\27\3\27\3\27\5\27\u01f1\n\27\3\30"+
"\3\30\5\30\u01f5\n\30\3\30\3\30\5\30\u01f9\n\30\3\30\7\30\u01fc\n\30\f"+
"\30\16\30\u01ff\13\30\3\30\5\30\u0202\n\30\3\31\3\31\3\31\3\31\3\31\5"+
"\31\u0209\n\31\3\31\3\31\3\32\3\32\5\32\u020f\n\32\3\32\5\32\u0212\n\32"+
"\3\32\3\32\3\32\5\32\u0217\n\32\3\32\5\32\u021a\n\32\3\33\3\33\5\33\u021e"+
"\n\33\3\33\5\33\u0221\n\33\3\33\3\33\3\33\3\34\3\34\3\34\5\34\u0229\n"+
"\34\3\34\3\34\5\34\u022d\n\34\3\34\3\34\5\34\u0231\n\34\3\35\3\35\5\35"+
"\u0235\n\35\3\35\3\35\5\35\u0239\n\35\3\35\7\35\u023c\n\35\f\35\16\35"+
"\u023f\13\35\3\35\3\35\5\35\u0243\n\35\3\35\3\35\5\35\u0247\n\35\3\35"+
"\7\35\u024a\n\35\f\35\16\35\u024d\13\35\5\35\u024f\n\35\3\36\3\36\3\36"+
"\3\36\3\36\3\36\3\36\5\36\u0258\n\36\3\37\3\37\3\37\3\37\3\37\3\37\3\37"+
"\5\37\u0261\n\37\3\37\7\37\u0264\n\37\f\37\16\37\u0267\13\37\3 \3 \3 "+
"\3 \3!\3!\3!\3!\3\"\3\"\5\"\u0273\n\"\3\"\5\"\u0276\n\"\3#\3#\3#\3#\3"+
"$\3$\5$\u027e\n$\3$\3$\5$\u0282\n$\3$\7$\u0285\n$\f$\16$\u0288\13$\3%"+
"\3%\5%\u028c\n%\3%\3%\5%\u0290\n%\3%\3%\3%\5%\u0295\n%\3&\3&\3\'\3\'\5"+
"\'\u029b\n\'\3\'\7\'\u029e\n\'\f\'\16\'\u02a1\13\'\3\'\3\'\3\'\3\'\5\'"+
"\u02a7\n\'\3(\3(\5(\u02ab\n(\3(\3(\5(\u02af\n(\5(\u02b1\n(\3(\3(\5(\u02b5"+
"\n(\5(\u02b7\n(\3(\3(\5(\u02bb\n(\5(\u02bd\n(\3(\3(\3)\3)\5)\u02c3\n)"+
"\3)\3)\3*\3*\5*\u02c9\n*\3*\3*\5*\u02cd\n*\3*\5*\u02d0\n*\3*\5*\u02d3"+
"\n*\3*\3*\5*\u02d7\n*\3*\3*\3*\3*\5*\u02dd\n*\3*\3*\5*\u02e1\n*\3*\5*"+
"\u02e4\n*\3*\5*\u02e7\n*\3*\3*\3*\3*\5*\u02ed\n*\3*\5*\u02f0\n*\3*\5*"+
"\u02f3\n*\3*\3*\5*\u02f7\n*\3*\3*\3*\3*\5*\u02fd\n*\3*\5*\u0300\n*\3*"+
"\5*\u0303\n*\3*\3*\5*\u0307\n*\3+\3+\5+\u030b\n+\3+\3+\5+\u030f\n+\5+"+
"\u0311\n+\3+\3+\5+\u0315\n+\5+\u0317\n+\3+\5+\u031a\n+\3+\3+\5+\u031e"+
"\n+\5+\u0320\n+\3+\3+\3,\3,\5,\u0326\n,\3-\3-\5-\u032a\n-\3-\3-\5-\u032e"+
"\n-\3-\3-\5-\u0332\n-\3-\5-\u0335\n-\3-\7-\u0338\n-\f-\16-\u033b\13-\3"+
".\3.\5.\u033f\n.\3.\7.\u0342\n.\f.\16.\u0345\13.\3/\3/\5/\u0349\n/\3/"+
"\3/\3\60\3\60\5\60\u034f\n\60\3\60\3\60\5\60\u0353\n\60\5\60\u0355\n\60"+
"\3\60\3\60\5\60\u0359\n\60\3\60\3\60\5\60\u035d\n\60\5\60\u035f\n\60\5"+
"\60\u0361\n\60\3\61\3\61\3\62\3\62\3\63\3\63\3\64\3\64\3\64\3\64\3\64"+
"\7\64\u036e\n\64\f\64\16\64\u0371\13\64\3\65\3\65\3\65\3\65\3\65\7\65"+
"\u0378\n\65\f\65\16\65\u037b\13\65\3\66\3\66\3\66\3\66\3\66\7\66\u0382"+
"\n\66\f\66\16\66\u0385\13\66\3\67\3\67\5\67\u0389\n\67\7\67\u038b\n\67"+
"\f\67\16\67\u038e\13\67\3\67\3\67\38\38\58\u0394\n8\38\78\u0397\n8\f8"+
"\168\u039a\138\39\39\59\u039e\n9\39\39\59\u03a2\n9\39\39\59\u03a6\n9\3"+
"9\39\59\u03aa\n9\39\79\u03ad\n9\f9\169\u03b0\139\3:\3:\5:\u03b4\n:\3:"+
"\3:\5:\u03b8\n:\3:\3:\5:\u03bc\n:\3:\3:\5:\u03c0\n:\3:\3:\5:\u03c4\n:"+
"\3:\3:\5:\u03c8\n:\3:\7:\u03cb\n:\f:\16:\u03ce\13:\3;\3;\5;\u03d2\n;\3"+
";\3;\5;\u03d6\n;\3;\7;\u03d9\n;\f;\16;\u03dc\13;\3<\3<\5<\u03e0\n<\7<"+
"\u03e2\n<\f<\16<\u03e5\13<\3<\3<\3=\3=\3=\3=\7=\u03ed\n=\f=\16=\u03f0"+
"\13=\3>\3>\3>\5>\u03f5\n>\3>\3>\5>\u03f9\n>\3>\3>\3>\3>\3>\5>\u0400\n"+
">\3>\3>\5>\u0404\n>\3>\3>\5>\u0408\n>\3>\5>\u040b\n>\3?\3?\3?\3?\3?\3"+
"?\3?\3?\3?\3?\5?\u0417\n?\3?\5?\u041a\n?\3?\3?\3@\3@\3@\3@\3@\3@\3@\3"+
"@\3@\3@\5@\u0428\n@\3A\3A\5A\u042c\nA\3A\7A\u042f\nA\fA\16A\u0432\13A"+
"\3A\5A\u0435\nA\3A\5A\u0438\nA\3B\3B\3B\3B\3B\5B\u043f\nB\3B\3B\5B\u0443"+
"\nB\3B\3B\5B\u0447\nB\3B\3B\3B\3B\3B\5B\u044e\nB\3B\3B\5B\u0452\nB\3B"+
"\3B\5B\u0456\nB\3B\3B\3B\3B\5B\u045c\nB\3B\3B\5B\u0460\nB\3B\3B\5B\u0464"+
"\nB\3B\3B\3B\3B\5B\u046a\nB\3B\3B\5B\u046e\nB\3B\3B\5B\u0472\nB\3B\3B"+
"\3B\3B\5B\u0478\nB\3B\3B\5B\u047c\nB\3B\3B\5B\u0480\nB\3B\3B\3B\3B\3B"+
"\3B\5B\u0488\nB\3C\3C\3C\3C\3C\3C\5C\u0490\nC\3D\3D\3E\3E\5E\u0496\nE"+
"\3E\3E\5E\u049a\nE\3E\3E\5E\u049e\nE\3E\3E\5E\u04a2\nE\7E\u04a4\nE\fE"+
"\16E\u04a7\13E\5E\u04a9\nE\3E\3E\3F\3F\5F\u04af\nF\3F\3F\3F\5F\u04b4\n"+
"F\3F\3F\3F\5F\u04b9\nF\3F\3F\3F\5F\u04be\nF\3F\3F\3F\5F\u04c3\nF\3F\3"+
"F\3F\5F\u04c8\nF\3F\5F\u04cb\nF\3G\3G\5G\u04cf\nG\3G\3G\5G\u04d3\nG\3"+
"G\3G\3H\3H\5H\u04d9\nH\3H\6H\u04dc\nH\rH\16H\u04dd\3I\3I\5I\u04e2\nI\3"+
"I\5I\u04e5\nI\3J\3J\3J\3J\3J\3J\3K\3K\5K\u04ef\nK\3K\3K\5K\u04f3\nK\3"+
"K\3K\5K\u04f7\nK\5K\u04f9\nK\3K\3K\5K\u04fd\nK\3K\3K\5K\u0501\nK\3K\3"+
"K\5K\u0505\nK\7K\u0507\nK\fK\16K\u050a\13K\5K\u050c\nK\3K\3K\3L\3L\3L"+
"\3L\5L\u0514\nL\3M\3M\5M\u0518\nM\3M\3M\5M\u051c\nM\3M\3M\5M\u0520\nM"+
"\3M\3M\5M\u0524\nM\3M\3M\5M\u0528\nM\7M\u052a\nM\fM\16M\u052d\13M\5M\u052f"+
"\nM\3M\3M\3N\3N\3O\3O\3P\3P\3P\3Q\3Q\3Q\7Q\u053d\nQ\fQ\16Q\u0540\13Q\3"+
"R\3R\5R\u0544\nR\3R\3R\5R\u0548\nR\3R\3R\5R\u054c\nR\3R\5R\u054f\nR\3"+
"R\5R\u0552\nR\3R\3R\3S\3S\5S\u0558\nS\3S\3S\5S\u055c\nS\3S\3S\5S\u0560"+
"\nS\5S\u0562\nS\3S\3S\5S\u0566\nS\3S\3S\5S\u056a\nS\3S\3S\5S\u056e\nS"+
"\5S\u0570\nS\3S\3S\5S\u0574\nS\3S\3S\5S\u0578\nS\3S\3S\3T\3T\5T\u057e"+
"\nT\3T\3T\3U\3U\5U\u0584\nU\3U\6U\u0587\nU\rU\16U\u0588\3U\3U\5U\u058d"+
"\nU\3U\3U\5U\u0591\nU\3U\6U\u0594\nU\rU\16U\u0595\5U\u0598\nU\3U\5U\u059b"+
"\nU\3U\3U\5U\u059f\nU\3U\5U\u05a2\nU\3U\5U\u05a5\nU\3U\3U\3V\3V\5V\u05ab"+
"\nV\3V\3V\5V\u05af\nV\3V\3V\5V\u05b3\nV\3V\3V\3W\3W\3X\3X\5X\u05bb\nX"+
"\3Y\3Y\5Y\u05bf\nY\3Y\3Y\5Y\u05c3\nY\3Y\3Y\5Y\u05c7\nY\3Y\3Y\5Y\u05cb"+
"\nY\3Y\3Y\5Y\u05cf\nY\3Y\3Y\5Y\u05d3\nY\3Y\3Y\5Y\u05d7\nY\3Y\3Y\5Y\u05db"+
"\nY\7Y\u05dd\nY\fY\16Y\u05e0\13Y\5Y\u05e2\nY\3Y\3Y\3Z\3Z\3Z\5Z\u05e9\n"+
"Z\3[\3[\5[\u05ed\n[\3[\6[\u05f0\n[\r[\16[\u05f1\3\\\3\\\3]\3]\3^\3^\3"+
"_\3_\5_\u05fc\n_\3`\3`\3a\3a\3b\3b\3c\3c\3d\3d\3d\2\2e\2\4\6\b\n\f\16"+
"\20\22\24\26\30\32\34\36 \"$&(*,.\60\62\64\668:<>@BDFHJLNPRTVXZ\\^`bd"+
"fhjlnprtvxz|~\u0080\u0082\u0084\u0086\u0088\u008a\u008c\u008e\u0090\u0092"+
"\u0094\u0096\u0098\u009a\u009c\u009e\u00a0\u00a2\u00a4\u00a6\u00a8\u00aa"+
"\u00ac\u00ae\u00b0\u00b2\u00b4\u00b6\u00b8\u00ba\u00bc\u00be\u00c0\u00c2"+
"\u00c4\u00c6\2\f\3\2FI\4\2\7\7\20\20\3\2YZ\3\2ce\3\2mn\6\2\60\u0268\3\2\2\2@\u026c\3\2\2\2B"+
"\u0270\3\2\2\2D\u0277\3\2\2\2F\u027b\3\2\2\2H\u0294\3\2\2\2J\u0296\3\2"+
"\2\2L\u02a6\3\2\2\2N\u02a8\3\2\2\2P\u02c0\3\2\2\2R\u0306\3\2\2\2T\u0308"+
"\3\2\2\2V\u0325\3\2\2\2X\u0327\3\2\2\2Z\u033c\3\2\2\2\\\u0346\3\2\2\2"+
"^\u034c\3\2\2\2`\u0362\3\2\2\2b\u0364\3\2\2\2d\u0366\3\2\2\2f\u0368\3"+
"\2\2\2h\u0372\3\2\2\2j\u037c\3\2\2\2l\u038c\3\2\2\2n\u0391\3\2\2\2p\u039b"+
"\3\2\2\2r\u03b1\3\2\2\2t\u03cf\3\2\2\2v\u03e3\3\2\2\2x\u03e8\3\2\2\2z"+
"\u040a\3\2\2\2|\u0416\3\2\2\2~\u0427\3\2\2\2\u0080\u0429\3\2\2\2\u0082"+
"\u0487\3\2\2\2\u0084\u048f\3\2\2\2\u0086\u0491\3\2\2\2\u0088\u0493\3\2"+
"\2\2\u008a\u04ca\3\2\2\2\u008c\u04cc\3\2\2\2\u008e\u04d6\3\2\2\2\u0090"+
"\u04df\3\2\2\2\u0092\u04e6\3\2\2\2\u0094\u04ec\3\2\2\2\u0096\u0513\3\2"+
"\2\2\u0098\u0515\3\2\2\2\u009a\u0532\3\2\2\2\u009c\u0534\3\2\2\2\u009e"+
"\u0536\3\2\2\2\u00a0\u053e\3\2\2\2\u00a2\u0541\3\2\2\2\u00a4\u0555\3\2"+
"\2\2\u00a6\u057b\3\2\2\2\u00a8\u0597\3\2\2\2\u00aa\u05a8\3\2\2\2\u00ac"+
"\u05b6\3\2\2\2\u00ae\u05ba\3\2\2\2\u00b0\u05bc\3\2\2\2\u00b2\u05e5\3\2"+
"\2\2\u00b4\u05ea\3\2\2\2\u00b6\u05f3\3\2\2\2\u00b8\u05f5\3\2\2\2\u00ba"+
"\u05f7\3\2\2\2\u00bc\u05fb\3\2\2\2\u00be\u05fd\3\2\2\2\u00c0\u05ff\3\2"+
"\2\2\u00c2\u0601\3\2\2\2\u00c4\u0603\3\2\2\2\u00c6\u0605\3\2\2\2\u00c8"+
"\u00ca\7\177\2\2\u00c9\u00c8\3\2\2\2\u00c9\u00ca\3\2\2\2\u00ca\u00cb\3"+
"\2\2\2\u00cb\u00d0\5\4\3\2\u00cc\u00ce\7\177\2\2\u00cd\u00cc\3\2\2\2\u00cd"+
"\u00ce\3\2\2\2\u00ce\u00cf\3\2\2\2\u00cf\u00d1\7\3\2\2\u00d0\u00cd\3\2"+
"\2\2\u00d0\u00d1\3\2\2\2\u00d1\u00d3\3\2\2\2\u00d2\u00d4\7\177\2\2\u00d3"+
"\u00d2\3\2\2\2\u00d3\u00d4\3\2\2\2\u00d4\u00d5\3\2\2\2\u00d5\u00d6\7\2"+
"\2\3\u00d6\3\3\2\2\2\u00d7\u00d8\5\6\4\2\u00d8\5\3\2\2\2\u00d9\u00dc\5"+
"\b\5\2\u00da\u00dc\5,\27\2\u00db\u00d9\3\2\2\2\u00db\u00da\3\2\2\2\u00dc"+
"\7\3\2\2\2\u00dd\u00e4\5\f\7\2\u00de\u00e0\7\177\2\2\u00df\u00de\3\2\2"+
"\2\u00df\u00e0\3\2\2\2\u00e0\u00e1\3\2\2\2\u00e1\u00e3\5\n\6\2\u00e2\u00df"+
"\3\2\2\2\u00e3\u00e6\3\2\2\2\u00e4\u00e2\3\2\2\2\u00e4\u00e5\3\2\2\2\u00e5"+
"\t\3\2\2\2\u00e6\u00e4\3\2\2\2\u00e7\u00e8\7\60\2\2\u00e8\u00e9\7\177"+
"\2\2\u00e9\u00eb\7\61\2\2\u00ea\u00ec\7\177\2\2\u00eb\u00ea\3\2\2\2\u00eb"+
"\u00ec\3\2\2\2\u00ec\u00ed\3\2\2\2\u00ed\u00f4\5\f\7\2\u00ee\u00f0\7\60"+
"\2\2\u00ef\u00f1\7\177\2\2\u00f0\u00ef\3\2\2\2\u00f0\u00f1\3\2\2\2\u00f1"+
"\u00f2\3\2\2\2\u00f2\u00f4\5\f\7\2\u00f3\u00e7\3\2\2\2\u00f3\u00ee\3\2"+
"\2\2\u00f4\13\3\2\2\2\u00f5\u00f8\5\16\b\2\u00f6\u00f8\5\20\t\2\u00f7"+
"\u00f5\3\2\2\2\u00f7\u00f6\3\2\2\2\u00f8\r\3\2\2\2\u00f9\u00fb\5\24\13"+
"\2\u00fa\u00fc\7\177\2\2\u00fb\u00fa\3\2\2\2\u00fb\u00fc\3\2\2\2\u00fc"+
"\u00fe\3\2\2\2\u00fd\u00f9\3\2\2\2\u00fe\u0101\3\2\2\2\u00ff\u00fd\3\2"+
"\2\2\u00ff\u0100\3\2\2\2\u0100\u0102\3\2\2\2\u0101\u00ff\3\2\2\2\u0102"+
"\u011d\5\64\33\2\u0103\u0105\5\24\13\2\u0104\u0106\7\177\2\2\u0105\u0104"+
"\3\2\2\2\u0105\u0106\3\2\2\2\u0106\u0108\3\2\2\2\u0107\u0103\3\2\2\2\u0108"+
"\u010b\3\2\2\2\u0109\u0107\3\2\2\2\u0109\u010a\3\2\2\2\u010a\u010c\3\2"+
"\2\2\u010b\u0109\3\2\2\2\u010c\u0113\5\22\n\2\u010d\u010f\7\177\2\2\u010e"+
"\u010d\3\2\2\2\u010e\u010f\3\2\2\2\u010f\u0110\3\2\2\2\u0110\u0112\5\22"+
"\n\2\u0111\u010e\3\2\2\2\u0112\u0115\3\2\2\2\u0113\u0111\3\2\2\2\u0113"+
"\u0114\3\2\2\2\u0114\u011a\3\2\2\2\u0115\u0113\3\2\2\2\u0116\u0118\7\177"+
"\2\2\u0117\u0116\3\2\2\2\u0117\u0118\3\2\2\2\u0118\u0119\3\2\2\2\u0119"+
"\u011b\5\64\33\2\u011a\u0117\3\2\2\2\u011a\u011b\3\2\2\2\u011b\u011d\3"+
"\2\2\2\u011c\u00ff\3\2\2\2\u011c\u0109\3\2\2\2\u011d\17\3\2\2\2\u011e"+
"\u0120\5\24\13\2\u011f\u0121\7\177\2\2\u0120\u011f\3\2\2\2\u0120\u0121"+
"\3\2\2\2\u0121\u0123\3\2\2\2\u0122\u011e\3\2\2\2\u0123\u0126\3\2\2\2\u0124"+
"\u0122\3\2\2\2\u0124\u0125\3\2\2\2\u0125\u012d\3\2\2\2\u0126\u0124\3\2"+
"\2\2\u0127\u0129\5\22\n\2\u0128\u012a\7\177\2\2\u0129\u0128\3\2\2\2\u0129"+
"\u012a\3\2\2\2\u012a\u012c\3\2\2\2\u012b\u0127\3\2\2\2\u012c\u012f\3\2"+
"\2\2\u012d\u012b\3\2\2\2\u012d\u012e\3\2\2\2\u012e\u0130\3\2\2\2\u012f"+
"\u012d\3\2\2\2\u0130\u0132\5\62\32\2\u0131\u0133\7\177\2\2\u0132\u0131"+
"\3\2\2\2\u0132\u0133\3\2\2\2\u0133\u0135\3\2\2\2\u0134\u0124\3\2\2\2\u0135"+
"\u0136\3\2\2\2\u0136\u0134\3\2\2\2\u0136\u0137\3\2\2\2\u0137\u0138\3\2"+
"\2\2\u0138\u0139\5\16\b\2\u0139\21\3\2\2\2\u013a\u0140\5\36\20\2\u013b"+
"\u0140\5\32\16\2\u013c\u0140\5$\23\2\u013d\u0140\5 \21\2\u013e\u0140\5"+
"&\24\2\u013f\u013a\3\2\2\2\u013f\u013b\3\2\2\2\u013f\u013c\3\2\2\2\u013f"+
"\u013d\3\2\2\2\u013f\u013e\3\2\2\2\u0140\23\3\2\2\2\u0141\u0145\5\26\f"+
"\2\u0142\u0145\5\30\r\2\u0143\u0145\5*\26\2\u0144\u0141\3\2\2\2\u0144"+
"\u0142\3\2\2\2\u0144\u0143\3\2\2\2\u0145\25\3\2\2\2\u0146\u0147\7\62\2"+
"\2\u0147\u0149\7\177\2\2\u0148\u0146\3\2\2\2\u0148\u0149\3\2\2\2\u0149"+
"\u014a\3\2\2\2\u014a\u014c\7\63\2\2\u014b\u014d\7\177\2\2\u014c\u014b"+
"\3\2\2\2\u014c\u014d\3\2\2\2\u014d\u014e\3\2\2\2\u014e\u0153\5F$\2\u014f"+
"\u0151\7\177\2\2\u0150\u014f\3\2\2\2\u0150\u0151\3\2\2\2\u0151\u0152\3"+
"\2\2\2\u0152\u0154\5D#\2\u0153\u0150\3\2\2\2\u0153\u0154\3\2\2\2\u0154"+
"\27\3\2\2\2\u0155\u0157\7\64\2\2\u0156\u0158\7\177\2\2\u0157\u0156\3\2"+
"\2\2\u0157\u0158\3\2\2\2\u0158\u0159\3\2\2\2\u0159\u015a\5d\63\2\u015a"+
"\u015b\7\177\2\2\u015b\u015c\7\65\2\2\u015c\u015d\7\177\2\2\u015d\u015e"+
"\5\u00acW\2\u015e\31\3\2\2\2\u015f\u0161\7\66\2\2\u0160\u0162\7\177\2"+
"\2\u0161\u0160\3\2\2\2\u0161\u0162\3\2\2\2\u0162\u0163\3\2\2\2\u0163\u0168"+
"\5H%\2\u0164\u0165\7\177\2\2\u0165\u0167\5\34\17\2\u0166\u0164\3\2\2\2"+
"\u0167\u016a\3\2\2\2\u0168\u0166\3\2\2\2\u0168\u0169\3\2\2\2\u0169\33"+
"\3\2\2\2\u016a\u0168\3\2\2\2\u016b\u016c\7\67\2\2\u016c\u016d\7\177\2"+
"\2\u016d\u016e\7\63\2\2\u016e\u016f\7\177\2\2\u016f\u0176\5 \21\2\u0170"+
"\u0171\7\67\2\2\u0171\u0172\7\177\2\2\u0172\u0173\78\2\2\u0173\u0174\7"+
"\177\2\2\u0174\u0176\5 \21\2\u0175\u016b\3\2\2\2\u0175\u0170\3\2\2\2\u0176"+
"\35\3\2\2\2\u0177\u0179\78\2\2\u0178\u017a\7\177\2\2\u0179\u0178\3\2\2"+
"\2\u0179\u017a\3\2\2\2\u017a\u017b\3\2\2\2\u017b\u017c\5F$\2\u017c\37"+
"\3\2\2\2\u017d\u017f\79\2\2\u017e\u0180\7\177\2\2\u017f\u017e\3\2\2\2"+
"\u017f\u0180\3\2\2\2\u0180\u0181\3\2\2\2\u0181\u0186\5\"\22\2\u0182\u0183"+
"\7\4\2\2\u0183\u0185\5\"\22\2\u0184\u0182\3\2\2\2\u0185\u0188\3\2\2\2"+
"\u0186\u0184\3\2\2\2\u0186\u0187\3\2\2\2\u0187!\3\2\2\2\u0188\u0186\3"+
"\2\2\2\u0189\u018b\5\u00b4[\2\u018a\u018c\7\177\2\2\u018b\u018a\3\2\2"+
"\2\u018b\u018c\3\2\2\2\u018c\u018d\3\2\2\2\u018d\u018f\7\5\2\2\u018e\u0190"+
"\7\177\2\2\u018f\u018e\3\2\2\2\u018f\u0190\3\2\2\2\u0190\u0191\3\2\2\2"+
"\u0191\u0192\5d\63\2\u0192\u01ae\3\2\2\2\u0193\u0195\5\u00acW\2\u0194"+
"\u0196\7\177\2\2\u0195\u0194\3\2\2\2\u0195\u0196\3\2\2\2\u0196\u0197\3"+
"\2\2\2\u0197\u0199\7\5\2\2\u0198\u019a\7\177\2\2\u0199\u0198\3\2\2\2\u0199"+
"\u019a\3\2\2\2\u019a\u019b\3\2\2\2\u019b\u019c\5d\63\2\u019c\u01ae\3\2"+
"\2\2\u019d\u019f\5\u00acW\2\u019e\u01a0\7\177\2\2\u019f\u019e\3\2\2\2"+
"\u019f\u01a0\3\2\2\2\u01a0\u01a1\3\2\2\2\u01a1\u01a3\7\6\2\2\u01a2\u01a4"+
"\7\177\2\2\u01a3\u01a2\3\2\2\2\u01a3\u01a4\3\2\2\2\u01a4\u01a5\3\2\2\2"+
"\u01a5\u01a6\5d\63\2\u01a6\u01ae\3\2\2\2\u01a7\u01a9\5\u00acW\2\u01a8"+
"\u01aa\7\177\2\2\u01a9\u01a8\3\2\2\2\u01a9\u01aa\3\2\2\2\u01aa\u01ab\3"+
"\2\2\2\u01ab\u01ac\5Z.\2\u01ac\u01ae\3\2\2\2\u01ad\u0189\3\2\2\2\u01ad"+
"\u0193\3\2\2\2\u01ad\u019d\3\2\2\2\u01ad\u01a7\3\2\2\2\u01ae#\3\2\2\2"+
"\u01af\u01b0\7:\2\2\u01b0\u01b2\7\177\2\2\u01b1\u01af\3\2\2\2\u01b1\u01b2"+
"\3\2\2\2\u01b2\u01b3\3\2\2\2\u01b3\u01b5\7;\2\2\u01b4\u01b6\7\177\2\2"+
"\u01b5\u01b4\3\2\2\2\u01b5\u01b6\3\2\2\2\u01b6\u01b7\3\2\2\2\u01b7\u01c2"+
"\5d\63\2\u01b8\u01ba\7\177\2\2\u01b9\u01b8\3\2\2\2\u01b9\u01ba\3\2\2\2"+
"\u01ba\u01bb\3\2\2\2\u01bb\u01bd\7\4\2\2\u01bc\u01be\7\177\2\2\u01bd\u01bc"+
"\3\2\2\2\u01bd\u01be\3\2\2\2\u01be\u01bf\3\2\2\2\u01bf\u01c1\5d\63\2\u01c0"+
"\u01b9\3\2\2\2\u01c1\u01c4\3\2\2\2\u01c2\u01c0\3\2\2\2\u01c2\u01c3\3\2"+
"\2\2\u01c3%\3\2\2\2\u01c4\u01c2\3\2\2\2\u01c5\u01c6\7<\2\2\u01c6\u01c7"+
"\7\177\2\2\u01c7\u01d2\5(\25\2\u01c8\u01ca\7\177\2\2\u01c9\u01c8\3\2\2"+
"\2\u01c9\u01ca\3\2\2\2\u01ca\u01cb\3\2\2\2\u01cb\u01cd\7\4\2\2\u01cc\u01ce"+
"\7\177\2\2\u01cd\u01cc\3\2\2\2\u01cd\u01ce\3\2\2\2\u01ce\u01cf\3\2\2\2"+
"\u01cf\u01d1\5(\25\2\u01d0\u01c9\3\2\2\2\u01d1\u01d4\3\2\2\2\u01d2\u01d0"+
"\3\2\2\2\u01d2\u01d3\3\2\2\2\u01d3\'\3\2\2\2\u01d4\u01d2\3\2\2\2\u01d5"+
"\u01d6\5\u00acW\2\u01d6\u01d7\5Z.\2\u01d7\u01da\3\2\2\2\u01d8\u01da\5"+
"\u00b4[\2\u01d9\u01d5\3\2\2\2\u01d9\u01d8\3\2\2\2\u01da)\3\2\2\2\u01db"+
"\u01dc\7=\2\2\u01dc\u01dd\7\177\2\2\u01dd\u01e4\5\u0098M\2\u01de\u01e0"+
"\7\177\2\2\u01df\u01de\3\2\2\2\u01df\u01e0\3\2\2\2\u01e0\u01e1\3\2\2\2"+
"\u01e1\u01e2\7>\2\2\u01e2\u01e3\7\177\2\2\u01e3\u01e5\5.\30\2\u01e4\u01df"+
"\3\2\2\2\u01e4\u01e5\3\2\2\2\u01e5+\3\2\2\2\u01e6\u01e7\7=\2\2\u01e7\u01ea"+
"\7\177\2\2\u01e8\u01eb\5\u0098M\2\u01e9\u01eb\5\u009aN\2\u01ea\u01e8\3"+
"\2\2\2\u01ea\u01e9\3\2\2\2\u01eb\u01f0\3\2\2\2\u01ec\u01ed\7\177\2\2\u01ed"+
"\u01ee\7>\2\2\u01ee\u01ef\7\177\2\2\u01ef\u01f1\5.\30\2\u01f0\u01ec\3"+
"\2\2\2\u01f0\u01f1\3\2\2\2\u01f1-\3\2\2\2\u01f2\u01fd\5\60\31\2\u01f3"+
"\u01f5\7\177\2\2\u01f4\u01f3\3\2\2\2\u01f4\u01f5\3\2\2\2\u01f5\u01f6\3"+
"\2\2\2\u01f6\u01f8\7\4\2\2\u01f7\u01f9\7\177\2\2\u01f8\u01f7\3\2\2\2\u01f8"+
"\u01f9\3\2\2\2\u01f9\u01fa\3\2\2\2\u01fa\u01fc\5\60\31\2\u01fb\u01f4\3"+
"\2\2\2\u01fc\u01ff\3\2\2\2\u01fd\u01fb\3\2\2\2\u01fd\u01fe\3\2\2\2\u01fe"+
"\u0202\3\2\2\2\u01ff\u01fd\3\2\2\2\u0200\u0202\7\7\2\2\u0201\u01f2\3\2"+
"\2\2\u0201\u0200\3\2\2\2\u0202/\3\2\2\2\u0203\u0204\5\u009cO\2\u0204\u0205"+
"\7\177\2\2\u0205\u0206\7\65\2\2\u0206\u0207\7\177\2\2\u0207\u0209\3\2"+
"\2\2\u0208\u0203\3\2\2\2\u0208\u0209\3\2\2\2\u0209\u020a\3\2\2\2\u020a"+
"\u020b\5\u00acW\2\u020b\61\3\2\2\2\u020c\u0211\7?\2\2\u020d\u020f\7\177"+
"\2\2\u020e\u020d\3\2\2\2\u020e\u020f\3\2\2\2\u020f\u0210\3\2\2\2\u0210"+
"\u0212\7@\2\2\u0211\u020e\3\2\2\2\u0211\u0212\3\2\2\2\u0212\u0213\3\2"+
"\2\2\u0213\u0214\7\177\2\2\u0214\u0219\5\66\34\2\u0215\u0217\7\177\2\2"+
"\u0216\u0215\3\2\2\2\u0216\u0217\3\2\2\2\u0217\u0218\3\2\2\2\u0218\u021a"+
"\5D#\2\u0219\u0216\3\2\2\2\u0219\u021a\3\2\2\2\u021a\63\3\2\2\2\u021b"+
"\u0220\7A\2\2\u021c\u021e\7\177\2\2\u021d\u021c\3\2\2\2\u021d\u021e\3"+
"\2\2\2\u021e\u021f\3\2\2\2\u021f\u0221\7@\2\2\u0220\u021d\3\2\2\2\u0220"+
"\u0221\3\2\2\2\u0221\u0222\3\2\2\2\u0222\u0223\7\177\2\2\u0223\u0224\5"+
"\66\34\2\u0224\65\3\2\2\2\u0225\u0228\58\35\2\u0226\u0227\7\177\2\2\u0227"+
"\u0229\5<\37\2\u0228\u0226\3\2\2\2\u0228\u0229\3\2\2\2\u0229\u022c\3\2"+
"\2\2\u022a\u022b\7\177\2\2\u022b\u022d\5> \2\u022c\u022a\3\2\2\2\u022c"+
"\u022d\3\2\2\2\u022d\u0230\3\2\2\2\u022e\u022f\7\177\2\2\u022f\u0231\5"+
"@!\2\u0230\u022e\3\2\2\2\u0230\u0231\3\2\2\2\u0231\67\3\2\2\2\u0232\u023d"+
"\7\b\2\2\u0233\u0235\7\177\2\2\u0234\u0233\3\2\2\2\u0234\u0235\3\2\2\2"+
"\u0235\u0236\3\2\2\2\u0236\u0238\7\4\2\2\u0237\u0239\7\177\2\2\u0238\u0237"+
"\3\2\2\2\u0238\u0239\3\2\2\2\u0239\u023a\3\2\2\2\u023a\u023c\5:\36\2\u023b"+
"\u0234\3\2\2\2\u023c\u023f\3\2\2\2\u023d\u023b\3\2\2\2\u023d\u023e\3\2"+
"\2\2\u023e\u024f\3\2\2\2\u023f\u023d\3\2\2\2\u0240\u024b\5:\36\2\u0241"+
"\u0243\7\177\2\2\u0242\u0241\3\2\2\2\u0242\u0243\3\2\2\2\u0243\u0244\3"+
"\2\2\2\u0244\u0246\7\4\2\2\u0245\u0247\7\177\2\2\u0246\u0245\3\2\2\2\u0246"+
"\u0247\3\2\2\2\u0247\u0248\3\2\2\2\u0248\u024a\5:\36\2\u0249\u0242\3\2"+
"\2\2\u024a\u024d\3\2\2\2\u024b\u0249\3\2\2\2\u024b\u024c\3\2\2\2\u024c"+
"\u024f\3\2\2\2\u024d\u024b\3\2\2\2\u024e\u0232\3\2\2\2\u024e\u0240\3\2"+
"\2\2\u024f9\3\2\2\2\u0250\u0251\5d\63\2\u0251\u0252\7\177\2\2\u0252\u0253"+
"\7\65\2\2\u0253\u0254\7\177\2\2\u0254\u0255\5\u00acW\2\u0255\u0258\3\2"+
"\2\2\u0256\u0258\5d\63\2\u0257\u0250\3\2\2\2\u0257\u0256\3\2\2\2\u0258"+
";\3\2\2\2\u0259\u025a\7B\2\2\u025a\u025b\7\177\2\2\u025b\u025c\7C\2\2"+
"\u025c\u025d\7\177\2\2\u025d\u0265\5B\"\2\u025e\u0260\7\4\2\2\u025f\u0261"+
"\7\177\2\2\u0260\u025f\3\2\2\2\u0260\u0261\3\2\2\2\u0261\u0262\3\2\2\2"+
"\u0262\u0264\5B\"\2\u0263\u025e\3\2\2\2\u0264\u0267\3\2\2\2\u0265\u0263"+
"\3\2\2\2\u0265\u0266\3\2\2\2\u0266=\3\2\2\2\u0267\u0265\3\2\2\2\u0268"+
"\u0269\7D\2\2\u0269\u026a\7\177\2\2\u026a\u026b\5d\63\2\u026b?\3\2\2\2"+
"\u026c\u026d\7E\2\2\u026d\u026e\7\177\2\2\u026e\u026f\5d\63\2\u026fA\3"+
"\2\2\2\u0270\u0275\5d\63\2\u0271\u0273\7\177\2\2\u0272\u0271\3\2\2\2\u0272"+
"\u0273\3\2\2\2\u0273\u0274\3\2\2\2\u0274\u0276\t\2\2\2\u0275\u0272\3\2"+
"\2\2\u0275\u0276\3\2\2\2\u0276C\3\2\2\2\u0277\u0278\7J\2\2\u0278\u0279"+
"\7\177\2\2\u0279\u027a\5d\63\2\u027aE\3\2\2\2\u027b\u0286\5H%\2\u027c"+
"\u027e\7\177\2\2\u027d\u027c\3\2\2\2\u027d\u027e\3\2\2\2\u027e\u027f\3"+
"\2\2\2\u027f\u0281\7\4\2\2\u0280\u0282\7\177\2\2\u0281\u0280\3\2\2\2\u0281"+
"\u0282\3\2\2\2\u0282\u0283\3\2\2\2\u0283\u0285\5H%\2\u0284\u027d\3\2\2"+
"\2\u0285\u0288\3\2\2\2\u0286\u0284\3\2\2\2\u0286\u0287\3\2\2\2\u0287G"+
"\3\2\2\2\u0288\u0286\3\2\2\2\u0289\u028b\5\u00acW\2\u028a\u028c\7\177"+
"\2\2\u028b\u028a\3\2\2\2\u028b\u028c\3\2\2\2\u028c\u028d\3\2\2\2\u028d"+
"\u028f\7\5\2\2\u028e\u0290\7\177\2\2\u028f\u028e\3\2\2\2\u028f\u0290\3"+
"\2\2\2\u0290\u0291\3\2\2\2\u0291\u0292\5J&\2\u0292\u0295\3\2\2\2\u0293"+
"\u0295\5J&\2\u0294\u0289\3\2\2\2\u0294\u0293\3\2\2\2\u0295I\3\2\2\2\u0296"+
"\u0297\5L\'\2\u0297K\3\2\2\2\u0298\u029f\5N(\2\u0299\u029b\7\177\2\2\u029a"+
"\u0299\3\2\2\2\u029a\u029b\3\2\2\2\u029b\u029c\3\2\2\2\u029c\u029e\5P"+
")\2\u029d\u029a\3\2\2\2\u029e\u02a1\3\2\2\2\u029f\u029d\3\2\2\2\u029f"+
"\u02a0\3\2\2\2\u02a0\u02a7\3\2\2\2\u02a1\u029f\3\2\2\2\u02a2\u02a3\7\t"+
"\2\2\u02a3\u02a4\5L\'\2\u02a4\u02a5\7\n\2\2\u02a5\u02a7\3\2\2\2\u02a6"+
"\u0298\3\2\2\2\u02a6\u02a2\3\2\2\2\u02a7M\3\2\2\2\u02a8\u02aa\7\t\2\2"+
"\u02a9\u02ab\7\177\2\2\u02aa\u02a9\3\2\2\2\u02aa\u02ab\3\2\2\2\u02ab\u02b0"+
"\3\2\2\2\u02ac\u02ae\5\u00acW\2\u02ad\u02af\7\177\2\2\u02ae\u02ad\3\2"+
"\2\2\u02ae\u02af\3\2\2\2\u02af\u02b1\3\2\2\2\u02b0\u02ac\3\2\2\2\u02b0"+
"\u02b1\3\2\2\2\u02b1\u02b6\3\2\2\2\u02b2\u02b4\5Z.\2\u02b3\u02b5\7\177"+
"\2\2\u02b4\u02b3\3\2\2\2\u02b4\u02b5\3\2\2\2\u02b5\u02b7\3\2\2\2\u02b6"+
"\u02b2\3\2\2\2\u02b6\u02b7\3\2\2\2\u02b7\u02bc\3\2\2\2\u02b8\u02ba\5V"+
",\2\u02b9\u02bb\7\177\2\2\u02ba\u02b9\3\2\2\2\u02ba\u02bb\3\2\2\2\u02bb"+
"\u02bd\3\2\2\2\u02bc\u02b8\3\2\2\2\u02bc\u02bd\3\2\2\2\u02bd\u02be\3\2"+
"\2\2\u02be\u02bf\7\n\2\2\u02bfO\3\2\2\2\u02c0\u02c2\5R*\2\u02c1\u02c3"+
"\7\177\2\2\u02c2\u02c1\3\2\2\2\u02c2\u02c3\3\2\2\2\u02c3\u02c4\3\2\2\2"+
"\u02c4\u02c5\5N(\2\u02c5Q\3\2\2\2\u02c6\u02c8\5\u00c2b\2\u02c7\u02c9\7"+
"\177\2\2\u02c8\u02c7\3\2\2\2\u02c8\u02c9\3\2\2\2\u02c9\u02ca\3\2\2\2\u02ca"+
"\u02cc\5\u00c6d\2\u02cb\u02cd\7\177\2\2\u02cc\u02cb\3\2\2\2\u02cc\u02cd"+
"\3\2\2\2\u02cd\u02cf\3\2\2\2\u02ce\u02d0\5T+\2\u02cf\u02ce\3\2\2\2\u02cf"+
"\u02d0\3\2\2\2\u02d0\u02d2\3\2\2\2\u02d1\u02d3\7\177\2\2\u02d2\u02d1\3"+
"\2\2\2\u02d2\u02d3\3\2\2\2\u02d3\u02d4\3\2\2\2\u02d4\u02d6\5\u00c6d\2"+
"\u02d5\u02d7\7\177\2\2\u02d6\u02d5\3\2\2\2\u02d6\u02d7\3\2\2\2\u02d7\u02d8"+
"\3\2\2\2\u02d8\u02d9\5\u00c4c\2\u02d9\u0307\3\2\2\2\u02da\u02dc\5\u00c2"+
"b\2\u02db\u02dd\7\177\2\2\u02dc\u02db\3\2\2\2\u02dc\u02dd\3\2\2\2\u02dd"+
"\u02de\3\2\2\2\u02de\u02e0\5\u00c6d\2\u02df\u02e1\7\177\2\2\u02e0\u02df"+
"\3\2\2\2\u02e0\u02e1\3\2\2\2\u02e1\u02e3\3\2\2\2\u02e2\u02e4\5T+\2\u02e3"+
"\u02e2\3\2\2\2\u02e3\u02e4\3\2\2\2\u02e4\u02e6\3\2\2\2\u02e5\u02e7\7\177"+
"\2\2\u02e6\u02e5\3\2\2\2\u02e6\u02e7\3\2\2\2\u02e7\u02e8\3\2\2\2\u02e8"+
"\u02e9\5\u00c6d\2\u02e9\u0307\3\2\2\2\u02ea\u02ec\5\u00c6d\2\u02eb\u02ed"+
"\7\177\2\2\u02ec\u02eb\3\2\2\2\u02ec\u02ed\3\2\2\2\u02ed\u02ef\3\2\2\2"+
"\u02ee\u02f0\5T+\2\u02ef\u02ee\3\2\2\2\u02ef\u02f0\3\2\2\2\u02f0\u02f2"+
"\3\2\2\2\u02f1\u02f3\7\177\2\2\u02f2\u02f1\3\2\2\2\u02f2\u02f3\3\2\2\2"+
"\u02f3\u02f4\3\2\2\2\u02f4\u02f6\5\u00c6d\2\u02f5\u02f7\7\177\2\2\u02f6"+
"\u02f5\3\2\2\2\u02f6\u02f7\3\2\2\2\u02f7\u02f8\3\2\2\2\u02f8\u02f9\5\u00c4"+
"c\2\u02f9\u0307\3\2\2\2\u02fa\u02fc\5\u00c6d\2\u02fb\u02fd\7\177\2\2\u02fc"+
"\u02fb\3\2\2\2\u02fc\u02fd\3\2\2\2\u02fd\u02ff\3\2\2\2\u02fe\u0300\5T"+
"+\2\u02ff\u02fe\3\2\2\2\u02ff\u0300\3\2\2\2\u0300\u0302\3\2\2\2\u0301"+
"\u0303\7\177\2\2\u0302\u0301\3\2\2\2\u0302\u0303\3\2\2\2\u0303\u0304\3"+
"\2\2\2\u0304\u0305\5\u00c6d\2\u0305\u0307\3\2\2\2\u0306\u02c6\3\2\2\2"+
"\u0306\u02da\3\2\2\2\u0306\u02ea\3\2\2\2\u0306\u02fa\3\2\2\2\u0307S\3"+
"\2\2\2\u0308\u030a\7\13\2\2\u0309\u030b\7\177\2\2\u030a\u0309\3\2\2\2"+
"\u030a\u030b\3\2\2\2\u030b\u0310\3\2\2\2\u030c\u030e\5\u00acW\2\u030d"+
"\u030f\7\177\2\2\u030e\u030d\3\2\2\2\u030e\u030f\3\2\2\2\u030f\u0311\3"+
"\2\2\2\u0310\u030c\3\2\2\2\u0310\u0311\3\2\2\2\u0311\u0316\3\2\2\2\u0312"+
"\u0314\5X-\2\u0313\u0315\7\177\2\2\u0314\u0313\3\2\2\2\u0314\u0315\3\2"+
"\2\2\u0315\u0317\3\2\2\2\u0316\u0312\3\2\2\2\u0316\u0317\3\2\2\2\u0317"+
"\u0319\3\2\2\2\u0318\u031a\5^\60\2\u0319\u0318\3\2\2\2\u0319\u031a\3\2"+
"\2\2\u031a\u031f\3\2\2\2\u031b\u031d\5V,\2\u031c\u031e\7\177\2\2\u031d"+
"\u031c\3\2\2\2\u031d\u031e\3\2\2\2\u031e\u0320\3\2\2\2\u031f\u031b\3\2"+
"\2\2\u031f\u0320\3\2\2\2\u0320\u0321\3\2\2\2\u0321\u0322\7\f\2\2\u0322"+
"U\3\2\2\2\u0323\u0326\5\u00b0Y\2\u0324\u0326\5\u00b2Z\2\u0325\u0323\3"+
"\2\2\2\u0325\u0324\3\2\2\2\u0326W\3\2\2\2\u0327\u0329\7\r\2\2\u0328\u032a"+
"\7\177\2\2\u0329\u0328\3\2\2\2\u0329\u032a\3\2\2\2\u032a\u032b\3\2\2\2"+
"\u032b\u0339\5b\62\2\u032c\u032e\7\177\2\2\u032d\u032c\3\2\2\2\u032d\u032e"+
"\3\2\2\2\u032e\u032f\3\2\2\2\u032f\u0331\7\16\2\2\u0330\u0332\7\r\2\2"+
"\u0331\u0330\3\2\2\2\u0331\u0332\3\2\2\2\u0332\u0334\3\2\2\2\u0333\u0335"+
"\7\177\2\2\u0334\u0333\3\2\2\2\u0334\u0335\3\2\2\2\u0335\u0336\3\2\2\2"+
"\u0336\u0338\5b\62\2\u0337\u032d\3\2\2\2\u0338\u033b\3\2\2\2\u0339\u0337"+
"\3\2\2\2\u0339\u033a\3\2\2\2\u033aY\3\2\2\2\u033b\u0339\3\2\2\2\u033c"+
"\u0343\5\\/\2\u033d\u033f\7\177\2\2\u033e\u033d\3\2\2\2\u033e\u033f\3"+
"\2\2\2\u033f\u0340\3\2\2\2\u0340\u0342\5\\/\2\u0341\u033e\3\2\2\2\u0342"+
"\u0345\3\2\2\2\u0343\u0341\3\2\2\2\u0343\u0344\3\2\2\2\u0344[\3\2\2\2"+
"\u0345\u0343\3\2\2\2\u0346\u0348\7\r\2\2\u0347\u0349\7\177\2\2\u0348\u0347"+
"\3\2\2\2\u0348\u0349\3\2\2\2\u0349\u034a\3\2\2\2\u034a\u034b\5`\61\2\u034b"+
"]\3\2\2\2\u034c\u034e\7\b\2\2\u034d\u034f\7\177\2\2\u034e\u034d\3\2\2"+
"\2\u034e\u034f\3\2\2\2\u034f\u0354\3\2\2\2\u0350\u0352\5\u00b8]\2\u0351"+
"\u0353\7\177\2\2\u0352\u0351\3\2\2\2\u0352\u0353\3\2\2\2\u0353\u0355\3"+
"\2\2\2\u0354\u0350\3\2\2\2\u0354\u0355\3\2\2\2\u0355\u0360\3\2\2\2\u0356"+
"\u0358\7\17\2\2\u0357\u0359\7\177\2\2\u0358\u0357\3\2\2\2\u0358\u0359"+
"\3\2\2\2\u0359\u035e\3\2\2\2\u035a\u035c\5\u00b8]\2\u035b\u035d\7\177"+
"\2\2\u035c\u035b\3\2\2\2\u035c\u035d\3\2\2\2\u035d\u035f\3\2\2\2\u035e"+
"\u035a\3\2\2\2\u035e\u035f\3\2\2\2\u035f\u0361\3\2\2\2\u0360\u0356\3\2"+
"\2\2\u0360\u0361\3\2\2\2\u0361_\3\2\2\2\u0362\u0363\5\u00bc_\2\u0363a"+
"\3\2\2\2\u0364\u0365\5\u00bc_\2\u0365c\3\2\2\2\u0366\u0367\5f\64\2\u0367"+
"e\3\2\2\2\u0368\u036f\5h\65\2\u0369\u036a\7\177\2\2\u036a\u036b\7K\2\2"+
"\u036b\u036c\7\177\2\2\u036c\u036e\5h\65\2\u036d\u0369\3\2\2\2\u036e\u0371"+
"\3\2\2\2\u036f\u036d\3\2\2\2\u036f\u0370\3\2\2\2\u0370g\3\2\2\2\u0371"+
"\u036f\3\2\2\2\u0372\u0379\5j\66\2\u0373\u0374\7\177\2\2\u0374\u0375\7"+
"L\2\2\u0375\u0376\7\177\2\2\u0376\u0378\5j\66\2\u0377\u0373\3\2\2\2\u0378"+
"\u037b\3\2\2\2\u0379\u0377\3\2\2\2\u0379\u037a\3\2\2\2\u037ai\3\2\2\2"+
"\u037b\u0379\3\2\2\2\u037c\u0383\5l\67\2\u037d\u037e\7\177\2\2\u037e\u037f"+
"\7M\2\2\u037f\u0380\7\177\2\2\u0380\u0382\5l\67\2\u0381\u037d\3\2\2\2"+
"\u0382\u0385\3\2\2\2\u0383\u0381\3\2\2\2\u0383\u0384\3\2\2\2\u0384k\3"+
"\2\2\2\u0385\u0383\3\2\2\2\u0386\u0388\7N\2\2\u0387\u0389\7\177\2\2\u0388"+
"\u0387\3\2\2\2\u0388\u0389\3\2\2\2\u0389\u038b\3\2\2\2\u038a\u0386\3\2"+
"\2\2\u038b\u038e\3\2\2\2\u038c\u038a\3\2\2\2\u038c\u038d\3\2\2\2\u038d"+
"\u038f\3\2\2\2\u038e\u038c\3\2\2\2\u038f\u0390\5n8\2\u0390m\3\2\2\2\u0391"+
"\u0398\5p9\2\u0392\u0394\7\177\2\2\u0393\u0392\3\2\2\2\u0393\u0394\3\2"+
"\2\2\u0394\u0395\3\2\2\2\u0395\u0397\5\u008aF\2\u0396\u0393\3\2\2\2\u0397"+
"\u039a\3\2\2\2\u0398\u0396\3\2\2\2\u0398\u0399\3\2\2\2\u0399o\3\2\2\2"+
"\u039a\u0398\3\2\2\2\u039b\u03ae\5r:\2\u039c\u039e\7\177\2\2\u039d\u039c"+
"\3\2\2\2\u039d\u039e\3\2\2\2\u039e\u039f\3\2\2\2\u039f\u03a1\7\20\2\2"+
"\u03a0\u03a2\7\177\2\2\u03a1\u03a0\3\2\2\2\u03a1\u03a2\3\2\2\2\u03a2\u03a3"+
"\3\2\2\2\u03a3\u03ad\5r:\2\u03a4\u03a6\7\177\2\2\u03a5\u03a4\3\2\2\2\u03a5"+
"\u03a6\3\2\2\2\u03a6\u03a7\3\2\2\2\u03a7\u03a9\7\7\2\2\u03a8\u03aa\7\177"+
"\2\2\u03a9\u03a8\3\2\2\2\u03a9\u03aa\3\2\2\2\u03aa\u03ab\3\2\2\2\u03ab"+
"\u03ad\5r:\2\u03ac\u039d\3\2\2\2\u03ac\u03a5\3\2\2\2\u03ad\u03b0\3\2\2"+
"\2\u03ae\u03ac\3\2\2\2\u03ae\u03af\3\2\2\2\u03afq\3\2\2\2\u03b0\u03ae"+
"\3\2\2\2\u03b1\u03cc\5t;\2\u03b2\u03b4\7\177\2\2\u03b3\u03b2\3\2\2\2\u03b3"+
"\u03b4\3\2\2\2\u03b4\u03b5\3\2\2\2\u03b5\u03b7\7\b\2\2\u03b6\u03b8\7\177"+
"\2\2\u03b7\u03b6\3\2\2\2\u03b7\u03b8\3\2\2\2\u03b8\u03b9\3\2\2\2\u03b9"+
"\u03cb\5t;\2\u03ba\u03bc\7\177\2\2\u03bb\u03ba\3\2\2\2\u03bb\u03bc\3\2"+
"\2\2\u03bc\u03bd\3\2\2\2\u03bd\u03bf\7\21\2\2\u03be\u03c0\7\177\2\2\u03bf"+
"\u03be\3\2\2\2\u03bf\u03c0\3\2\2\2\u03c0\u03c1\3\2\2\2\u03c1\u03cb\5t"+
";\2\u03c2\u03c4\7\177\2\2\u03c3\u03c2\3\2\2\2\u03c3\u03c4\3\2\2\2\u03c4"+
"\u03c5\3\2\2\2\u03c5\u03c7\7\22\2\2\u03c6\u03c8\7\177\2\2\u03c7\u03c6"+
"\3\2\2\2\u03c7\u03c8\3\2\2\2\u03c8\u03c9\3\2\2\2\u03c9\u03cb\5t;\2\u03ca"+
"\u03b3\3\2\2\2\u03ca\u03bb\3\2\2\2\u03ca\u03c3\3\2\2\2\u03cb\u03ce\3\2"+
"\2\2\u03cc\u03ca\3\2\2\2\u03cc\u03cd\3\2\2\2\u03cds\3\2\2\2\u03ce\u03cc"+
"\3\2\2\2\u03cf\u03da\5v<\2\u03d0\u03d2\7\177\2\2\u03d1\u03d0\3\2\2\2\u03d1"+
"\u03d2\3\2\2\2\u03d2\u03d3\3\2\2\2\u03d3\u03d5\7\23\2\2\u03d4\u03d6\7"+
"\177\2\2\u03d5\u03d4\3\2\2\2\u03d5\u03d6\3\2\2\2\u03d6\u03d7\3\2\2\2\u03d7"+
"\u03d9\5v<\2\u03d8\u03d1\3\2\2\2\u03d9\u03dc\3\2\2\2\u03da\u03d8\3\2\2"+
"\2\u03da\u03db\3\2\2\2\u03dbu\3\2\2\2\u03dc\u03da\3\2\2\2\u03dd\u03df"+
"\t\3\2\2\u03de\u03e0\7\177\2\2\u03df\u03de\3\2\2\2\u03df\u03e0\3\2\2\2"+
"\u03e0\u03e2\3\2\2\2\u03e1\u03dd\3\2\2\2\u03e2\u03e5\3\2\2\2\u03e3\u03e1"+
"\3\2\2\2\u03e3\u03e4\3\2\2\2\u03e4\u03e6\3\2\2\2\u03e5\u03e3\3\2\2\2\u03e6"+
"\u03e7\5x=\2\u03e7w\3\2\2\2\u03e8\u03ee\5\u0080A\2\u03e9\u03ed\5|?\2\u03ea"+
"\u03ed\5z>\2\u03eb\u03ed\5~@\2\u03ec\u03e9\3\2\2\2\u03ec\u03ea\3\2\2\2"+
"\u03ec\u03eb\3\2\2\2\u03ed\u03f0\3\2\2\2\u03ee\u03ec\3\2\2\2\u03ee\u03ef"+
"\3\2\2\2\u03efy\3\2\2\2\u03f0\u03ee\3\2\2\2\u03f1\u03f2\7\177\2\2\u03f2"+
"\u03f4\7O\2\2\u03f3\u03f5\7\177\2\2\u03f4\u03f3\3\2\2\2\u03f4\u03f5\3"+
"\2\2\2\u03f5\u03f6\3\2\2\2\u03f6\u040b\5\u0080A\2\u03f7\u03f9\7\177\2"+
"\2\u03f8\u03f7\3\2\2\2\u03f8\u03f9\3\2\2\2\u03f9\u03fa\3\2\2\2\u03fa\u03fb"+
"\7\13\2\2\u03fb\u03fc\5d\63\2\u03fc\u03fd\7\f\2\2\u03fd\u040b\3\2\2\2"+
"\u03fe\u0400\7\177\2\2\u03ff\u03fe\3\2\2\2\u03ff\u0400\3\2\2\2\u0400\u0401"+
"\3\2\2\2\u0401\u0403\7\13\2\2\u0402\u0404\5d\63\2\u0403\u0402\3\2\2\2"+
"\u0403\u0404\3\2\2\2\u0404\u0405\3\2\2\2\u0405\u0407\7\17\2\2\u0406\u0408"+
"\5d\63\2\u0407\u0406\3\2\2\2\u0407\u0408\3\2\2\2\u0408\u0409\3\2\2\2\u0409"+
"\u040b\7\f\2\2\u040a\u03f1\3\2\2\2\u040a\u03f8\3\2\2\2\u040a\u03ff\3\2"+
"\2\2\u040b{\3\2\2\2\u040c\u040d\7\177\2\2\u040d\u040e\7P\2\2\u040e\u040f"+
"\7\177\2\2\u040f\u0417\7?\2\2\u0410\u0411\7\177\2\2\u0411\u0412\7Q\2\2"+
"\u0412\u0413\7\177\2\2\u0413\u0417\7?\2\2\u0414\u0415\7\177\2\2\u0415"+
"\u0417\7R\2\2\u0416\u040c\3\2\2\2\u0416\u0410\3\2\2\2\u0416\u0414\3\2"+
"\2\2\u0417\u0419\3\2\2\2\u0418\u041a\7\177\2\2\u0419\u0418\3\2\2\2\u0419"+
"\u041a\3\2\2\2\u041a\u041b\3\2\2\2\u041b\u041c\5\u0080A\2\u041c}\3\2\2"+
"\2\u041d\u041e\7\177\2\2\u041e\u041f\7S\2\2\u041f\u0420\7\177\2\2\u0420"+
"\u0428\7T\2\2\u0421\u0422\7\177\2\2\u0422\u0423\7S\2\2\u0423\u0424\7\177"+
"\2\2\u0424\u0425\7N\2\2\u0425\u0426\7\177\2\2\u0426\u0428\7T\2\2\u0427"+
"\u041d\3\2\2\2\u0427\u0421\3\2\2\2\u0428\177\3\2\2\2\u0429\u0430\5\u0082"+
"B\2\u042a\u042c\7\177\2\2\u042b\u042a\3\2\2\2\u042b\u042c\3\2\2\2\u042c"+
"\u042d\3\2\2\2\u042d\u042f\5\u00a6T\2\u042e\u042b\3\2\2\2\u042f\u0432"+
"\3\2\2\2\u0430\u042e\3\2\2\2\u0430\u0431\3\2\2\2\u0431\u0437\3\2\2\2\u0432"+
"\u0430\3\2\2\2\u0433\u0435\7\177\2\2\u0434\u0433\3\2\2\2\u0434\u0435\3"+
"\2\2\2\u0435\u0436\3\2\2\2\u0436\u0438\5Z.\2\u0437\u0434\3\2\2\2\u0437"+
"\u0438\3\2\2\2\u0438\u0081\3\2\2\2\u0439\u0488\5\u0084C\2\u043a\u0488"+
"\5\u00b2Z\2\u043b\u0488\5\u00a8U\2\u043c\u043e\7U\2\2\u043d\u043f\7\177"+
"\2\2\u043e\u043d\3\2\2\2\u043e\u043f\3\2\2\2\u043f\u0440\3\2\2\2\u0440"+
"\u0442\7\t\2\2\u0441\u0443\7\177\2\2\u0442\u0441\3\2\2\2\u0442\u0443\3"+
"\2\2\2\u0443\u0444\3\2\2\2\u0444\u0446\7\b\2\2\u0445\u0447\7\177\2\2\u0446"+
"\u0445\3\2\2\2\u0446\u0447\3\2\2\2\u0447\u0448\3\2\2\2\u0448\u0488\7\n"+
"\2\2\u0449\u0488\5\u00a2R\2\u044a\u0488\5\u00a4S\2\u044b\u044d\7\61\2"+
"\2\u044c\u044e\7\177\2\2\u044d\u044c\3\2\2\2\u044d\u044e\3\2\2\2\u044e"+
"\u044f\3\2\2\2\u044f\u0451\7\t\2\2\u0450\u0452\7\177\2\2\u0451\u0450\3"+
"\2\2\2\u0451\u0452\3\2\2\2\u0452\u0453\3\2\2\2\u0453\u0455\5\u0090I\2"+
"\u0454\u0456\7\177\2\2\u0455\u0454\3\2\2\2\u0455\u0456\3\2\2\2\u0456\u0457"+
"\3\2\2\2\u0457\u0458\7\n\2\2\u0458\u0488\3\2\2\2\u0459\u045b\7V\2\2\u045a"+
"\u045c\7\177\2\2\u045b\u045a\3\2\2\2\u045b\u045c\3\2\2\2\u045c\u045d\3"+
"\2\2\2\u045d\u045f\7\t\2\2\u045e\u0460\7\177\2\2\u045f\u045e\3\2\2\2\u045f"+
"\u0460\3\2\2\2\u0460\u0461\3\2\2\2\u0461\u0463\5\u0090I\2\u0462\u0464"+
"\7\177\2\2\u0463\u0462\3\2\2\2\u0463\u0464\3\2\2\2\u0464\u0465\3\2\2\2"+
"\u0465\u0466\7\n\2\2\u0466\u0488\3\2\2\2\u0467\u0469\7W\2\2\u0468\u046a"+
"\7\177\2\2\u0469\u0468\3\2\2\2\u0469\u046a\3\2\2\2\u046a\u046b\3\2\2\2"+
"\u046b\u046d\7\t\2\2\u046c\u046e\7\177\2\2\u046d\u046c\3\2\2\2\u046d\u046e"+
"\3\2\2\2\u046e\u046f\3\2\2\2\u046f\u0471\5\u0090I\2\u0470\u0472\7\177"+
"\2\2\u0471\u0470\3\2\2\2\u0471\u0472\3\2\2\2\u0472\u0473\3\2\2\2\u0473"+
"\u0474\7\n\2\2\u0474\u0488\3\2\2\2\u0475\u0477\7X\2\2\u0476\u0478\7\177"+
"\2\2\u0477\u0476\3\2\2\2\u0477\u0478\3\2\2\2\u0478\u0479\3\2\2\2\u0479"+
"\u047b\7\t\2\2\u047a\u047c\7\177\2\2\u047b\u047a\3\2\2\2\u047b\u047c\3"+
"\2\2\2\u047c\u047d\3\2\2\2\u047d\u047f\5\u0090I\2\u047e\u0480\7\177\2"+
"\2\u047f\u047e\3\2\2\2\u047f\u0480\3\2\2\2\u0480\u0481\3\2\2\2\u0481\u0482"+
"\7\n\2\2\u0482\u0488\3\2\2\2\u0483\u0488\5\u008eH\2\u0484\u0488\5\u008c"+
"G\2\u0485\u0488\5\u0094K\2\u0486\u0488\5\u00acW\2\u0487\u0439\3\2\2\2"+
"\u0487\u043a\3\2\2\2\u0487\u043b\3\2\2\2\u0487\u043c\3\2\2\2\u0487\u0449"+
"\3\2\2\2\u0487\u044a\3\2\2\2\u0487\u044b\3\2\2\2\u0487\u0459\3\2\2\2\u0487"+
"\u0467\3\2\2\2\u0487\u0475\3\2\2\2\u0487\u0483\3\2\2\2\u0487\u0484\3\2"+
"\2\2\u0487\u0485\3\2\2\2\u0487\u0486\3\2\2\2\u0488\u0083\3\2\2\2\u0489"+
"\u0490\5\u00aeX\2\u048a\u0490\7a\2\2\u048b\u0490\5\u0086D\2\u048c\u0490"+
"\7T\2\2\u048d\u0490\5\u00b0Y\2\u048e\u0490\5\u0088E\2\u048f\u0489\3\2"+
"\2\2\u048f\u048a\3\2\2\2\u048f\u048b\3\2\2\2\u048f\u048c\3\2\2\2\u048f"+
"\u048d\3\2\2\2\u048f\u048e\3\2\2\2\u0490\u0085\3\2\2\2\u0491\u0492\t\4"+
"\2\2\u0492\u0087\3\2\2\2\u0493\u0495\7\13\2\2\u0494\u0496\7\177\2\2\u0495"+
"\u0494\3\2\2\2\u0495\u0496\3\2\2\2\u0496\u04a8\3\2\2\2\u0497\u0499\5d"+
"\63\2\u0498\u049a\7\177\2\2\u0499\u0498\3\2\2\2\u0499\u049a\3\2\2\2\u049a"+
"\u04a5\3\2\2\2\u049b\u049d\7\4\2\2\u049c\u049e\7\177\2\2\u049d\u049c\3"+
"\2\2\2\u049d\u049e\3\2\2\2\u049e\u049f\3\2\2\2\u049f\u04a1\5d\63\2\u04a0"+
"\u04a2\7\177\2\2\u04a1\u04a0\3\2\2\2\u04a1\u04a2\3\2\2\2\u04a2\u04a4\3"+
"\2\2\2\u04a3\u049b\3\2\2\2\u04a4\u04a7\3\2\2\2\u04a5\u04a3\3\2\2\2\u04a5"+
"\u04a6\3\2\2\2\u04a6\u04a9\3\2\2\2\u04a7\u04a5\3\2\2\2\u04a8\u0497\3\2"+
"\2\2\u04a8\u04a9\3\2\2\2\u04a9\u04aa\3\2\2\2\u04aa\u04ab\7\f\2\2\u04ab"+
"\u0089\3\2\2\2\u04ac\u04ae\7\5\2\2\u04ad\u04af\7\177\2\2\u04ae\u04ad\3"+
"\2\2\2\u04ae\u04af\3\2\2\2\u04af\u04b0\3\2\2\2\u04b0\u04cb\5p9\2\u04b1"+
"\u04b3\7\24\2\2\u04b2\u04b4\7\177\2\2\u04b3\u04b2\3\2\2\2\u04b3\u04b4"+
"\3\2\2\2\u04b4\u04b5\3\2\2\2\u04b5\u04cb\5p9\2\u04b6\u04b8\7\25\2\2\u04b7"+
"\u04b9\7\177\2\2\u04b8\u04b7\3\2\2\2\u04b8\u04b9\3\2\2\2\u04b9\u04ba\3"+
"\2\2\2\u04ba\u04cb\5p9\2\u04bb\u04bd\7\26\2\2\u04bc\u04be\7\177\2\2\u04bd"+
"\u04bc\3\2\2\2\u04bd\u04be\3\2\2\2\u04be\u04bf\3\2\2\2\u04bf\u04cb\5p"+
"9\2\u04c0\u04c2\7\27\2\2\u04c1\u04c3\7\177\2\2\u04c2\u04c1\3\2\2\2\u04c2"+
"\u04c3\3\2\2\2\u04c3\u04c4\3\2\2\2\u04c4\u04cb\5p9\2\u04c5\u04c7\7\30"+
"\2\2\u04c6\u04c8\7\177\2\2\u04c7\u04c6\3\2\2\2\u04c7\u04c8\3\2\2\2\u04c8"+
"\u04c9\3\2\2\2\u04c9\u04cb\5p9\2\u04ca\u04ac\3\2\2\2\u04ca\u04b1\3\2\2"+
"\2\u04ca\u04b6\3\2\2\2\u04ca\u04bb\3\2\2\2\u04ca\u04c0\3\2\2\2\u04ca\u04c5"+
"\3\2\2\2\u04cb\u008b\3\2\2\2\u04cc\u04ce\7\t\2\2\u04cd\u04cf\7\177\2\2"+
"\u04ce\u04cd\3\2\2\2\u04ce\u04cf\3\2\2\2\u04cf\u04d0\3\2\2\2\u04d0\u04d2"+
"\5d\63\2\u04d1\u04d3\7\177\2\2\u04d2\u04d1\3\2\2\2\u04d2\u04d3\3\2\2\2"+
"\u04d3\u04d4\3\2\2\2\u04d4\u04d5\7\n\2\2\u04d5\u008d\3\2\2\2\u04d6\u04db"+
"\5N(\2\u04d7\u04d9\7\177\2\2\u04d8\u04d7\3\2\2\2\u04d8\u04d9\3\2\2\2\u04d9"+
"\u04da\3\2\2\2\u04da\u04dc\5P)\2\u04db\u04d8\3\2\2\2\u04dc\u04dd\3\2\2"+
"\2\u04dd\u04db\3\2\2\2\u04dd\u04de\3\2\2\2\u04de\u008f\3\2\2\2\u04df\u04e4"+
"\5\u0092J\2\u04e0\u04e2\7\177\2\2\u04e1\u04e0\3\2\2\2\u04e1\u04e2\3\2"+
"\2\2\u04e2\u04e3\3\2\2\2\u04e3\u04e5\5D#\2\u04e4\u04e1\3\2\2\2\u04e4\u04e5"+
"\3\2\2\2\u04e5\u0091\3\2\2\2\u04e6\u04e7\5\u00acW\2\u04e7\u04e8\7\177"+
"\2\2\u04e8\u04e9\7O\2\2\u04e9\u04ea\7\177\2\2\u04ea\u04eb\5d\63\2\u04eb"+
"\u0093\3\2\2\2\u04ec\u04ee\5\u0096L\2\u04ed\u04ef\7\177\2\2\u04ee\u04ed"+
"\3\2\2\2\u04ee\u04ef\3\2\2\2\u04ef\u04f0\3\2\2\2\u04f0\u04f2\7\t\2\2\u04f1"+
"\u04f3\7\177\2\2\u04f2\u04f1\3\2\2\2\u04f2\u04f3\3\2\2\2\u04f3\u04f8\3"+
"\2\2\2\u04f4\u04f6\7@\2\2\u04f5\u04f7\7\177\2\2\u04f6\u04f5\3\2\2\2\u04f6"+
"\u04f7\3\2\2\2\u04f7\u04f9\3\2\2\2\u04f8\u04f4\3\2\2\2\u04f8\u04f9\3\2"+
"\2\2\u04f9\u050b\3\2\2\2\u04fa\u04fc\5d\63\2\u04fb\u04fd\7\177\2\2\u04fc"+
"\u04fb\3\2\2\2\u04fc\u04fd\3\2\2\2\u04fd\u0508\3\2\2\2\u04fe\u0500\7\4"+
"\2\2\u04ff\u0501\7\177\2\2\u0500\u04ff\3\2\2\2\u0500\u0501\3\2\2\2\u0501"+
"\u0502\3\2\2\2\u0502\u0504\5d\63\2\u0503\u0505\7\177\2\2\u0504\u0503\3"+
"\2\2\2\u0504\u0505\3\2\2\2\u0505\u0507\3\2\2\2\u0506\u04fe\3\2\2\2\u0507"+
"\u050a\3\2\2\2\u0508\u0506\3\2\2\2\u0508\u0509\3\2\2\2\u0509\u050c\3\2"+
"\2\2\u050a\u0508\3\2\2\2\u050b\u04fa\3\2\2\2\u050b\u050c\3\2\2\2\u050c"+
"\u050d\3\2\2\2\u050d\u050e\7\n\2\2\u050e\u0095\3\2\2\2\u050f\u0510\5\u00a0"+
"Q\2\u0510\u0511\5\u00c0a\2\u0511\u0514\3\2\2\2\u0512\u0514\7[\2\2\u0513"+
"\u050f\3\2\2\2\u0513\u0512\3\2\2\2\u0514\u0097\3\2\2\2\u0515\u0517\5\u009e"+
"P\2\u0516\u0518\7\177\2\2\u0517\u0516\3\2\2\2\u0517\u0518\3\2\2\2\u0518"+
"\u0519\3\2\2\2\u0519\u051b\7\t\2\2\u051a\u051c\7\177\2\2\u051b\u051a\3"+
"\2\2\2\u051b\u051c\3\2\2\2\u051c\u052e\3\2\2\2\u051d\u051f\5d\63\2\u051e"+
"\u0520\7\177\2\2\u051f\u051e\3\2\2\2\u051f\u0520\3\2\2\2\u0520\u052b\3"+
"\2\2\2\u0521\u0523\7\4\2\2\u0522\u0524\7\177\2\2\u0523\u0522\3\2\2\2\u0523"+
"\u0524\3\2\2\2\u0524\u0525\3\2\2\2\u0525\u0527\5d\63\2\u0526\u0528\7\177"+
"\2\2\u0527\u0526\3\2\2\2\u0527\u0528\3\2\2\2\u0528\u052a\3\2\2\2\u0529"+
"\u0521\3\2\2\2\u052a\u052d\3\2\2\2\u052b\u0529\3\2\2\2\u052b\u052c\3\2"+
"\2\2\u052c\u052f\3\2\2\2\u052d\u052b\3\2\2\2\u052e\u051d\3\2\2\2\u052e"+
"\u052f\3\2\2\2\u052f\u0530\3\2\2\2\u0530\u0531\7\n\2\2\u0531\u0099\3\2"+
"\2\2\u0532\u0533\5\u009eP\2\u0533\u009b\3\2\2\2\u0534\u0535\5\u00c0a\2"+
"\u0535\u009d\3\2\2\2\u0536\u0537\5\u00a0Q\2\u0537\u0538\5\u00c0a\2\u0538"+
"\u009f\3\2\2\2\u0539\u053a\5\u00c0a\2\u053a\u053b\7\31\2\2\u053b\u053d"+
"\3\2\2\2\u053c\u0539\3\2\2\2\u053d\u0540\3\2\2\2\u053e\u053c\3\2\2\2\u053e"+
"\u053f\3\2\2\2\u053f\u00a1\3\2\2\2\u0540\u053e\3\2\2\2\u0541\u0543\7\13"+
"\2\2\u0542\u0544\7\177\2\2\u0543\u0542\3\2\2\2\u0543\u0544\3\2\2\2\u0544"+
"\u0545\3\2\2\2\u0545\u054e\5\u0090I\2\u0546\u0548\7\177\2\2\u0547\u0546"+
"\3\2\2\2\u0547\u0548\3\2\2\2\u0548\u0549\3\2\2\2\u0549\u054b\7\16\2\2"+
"\u054a\u054c\7\177\2\2\u054b\u054a\3\2\2\2\u054b\u054c\3\2\2\2\u054c\u054d"+
"\3\2\2\2\u054d\u054f\5d\63\2\u054e\u0547\3\2\2\2\u054e\u054f\3\2\2\2\u054f"+
"\u0551\3\2\2\2\u0550\u0552\7\177\2\2\u0551\u0550\3\2\2\2\u0551\u0552\3"+
"\2\2\2\u0552\u0553\3\2\2\2\u0553\u0554\7\f\2\2\u0554\u00a3\3\2\2\2\u0555"+
"\u0557\7\13\2\2\u0556\u0558\7\177\2\2\u0557\u0556\3\2\2\2\u0557\u0558"+
"\3\2\2\2\u0558\u0561\3\2\2\2\u0559\u055b\5\u00acW\2\u055a\u055c\7\177"+
"\2\2\u055b\u055a\3\2\2\2\u055b\u055c\3\2\2\2\u055c\u055d\3\2\2\2\u055d"+
"\u055f\7\5\2\2\u055e\u0560\7\177\2\2\u055f\u055e\3\2\2\2\u055f\u0560\3"+
"\2\2\2\u0560\u0562\3\2\2\2\u0561\u0559\3\2\2\2\u0561\u0562\3\2\2\2\u0562"+
"\u0563\3\2\2\2\u0563\u0565\5\u008eH\2\u0564\u0566\7\177\2\2\u0565\u0564"+
"\3\2\2\2\u0565\u0566\3\2\2\2\u0566\u056f\3\2\2\2\u0567\u0569\7J\2\2\u0568"+
"\u056a\7\177\2\2\u0569\u0568\3\2\2\2\u0569\u056a\3\2\2\2\u056a\u056b\3"+
"\2\2\2\u056b\u056d\5d\63\2\u056c\u056e\7\177\2\2\u056d\u056c\3\2\2\2\u056d"+
"\u056e\3\2\2\2\u056e\u0570\3\2\2\2\u056f\u0567\3\2\2\2\u056f\u0570\3\2"+
"\2\2\u0570\u0571\3\2\2\2\u0571\u0573\7\16\2\2\u0572\u0574\7\177\2\2\u0573"+
"\u0572\3\2\2\2\u0573\u0574\3\2\2\2\u0574\u0575\3\2\2\2\u0575\u0577\5d"+
"\63\2\u0576\u0578\7\177\2\2\u0577\u0576\3\2\2\2\u0577\u0578\3\2\2\2\u0578"+
"\u0579\3\2\2\2\u0579\u057a\7\f\2\2\u057a\u00a5\3\2\2\2\u057b\u057d\7\31"+
"\2\2\u057c\u057e\7\177\2\2\u057d\u057c\3\2\2\2\u057d\u057e\3\2\2\2\u057e"+
"\u057f\3\2\2\2\u057f\u0580\5\u00b6\\\2\u0580\u00a7\3\2\2\2\u0581\u0586"+
"\7\\\2\2\u0582\u0584\7\177\2\2\u0583\u0582\3\2\2\2\u0583\u0584\3\2\2\2"+
"\u0584\u0585\3\2\2\2\u0585\u0587\5\u00aaV\2\u0586\u0583\3\2\2\2\u0587"+
"\u0588\3\2\2\2\u0588\u0586\3\2\2\2\u0588\u0589\3\2\2\2\u0589\u0598\3\2"+
"\2\2\u058a\u058c\7\\\2\2\u058b\u058d\7\177\2\2\u058c\u058b\3\2\2\2\u058c"+
"\u058d\3\2\2\2\u058d\u058e\3\2\2\2\u058e\u0593\5d\63\2\u058f\u0591\7\177"+
"\2\2\u0590\u058f\3\2\2\2\u0590\u0591\3\2\2\2\u0591\u0592\3\2\2\2\u0592"+
"\u0594\5\u00aaV\2\u0593\u0590\3\2\2\2\u0594\u0595\3\2\2\2\u0595\u0593"+
"\3\2\2\2\u0595\u0596\3\2\2\2\u0596\u0598\3\2\2\2\u0597\u0581\3\2\2\2\u0597"+
"\u058a\3\2\2\2\u0598\u05a1\3\2\2\2\u0599\u059b\7\177\2\2\u059a\u0599\3"+
"\2\2\2\u059a\u059b\3\2\2\2\u059b\u059c\3\2\2\2\u059c\u059e\7]\2\2\u059d"+
"\u059f\7\177\2\2\u059e\u059d\3\2\2\2\u059e\u059f\3\2\2\2\u059f\u05a0\3"+
"\2\2\2\u05a0\u05a2\5d\63\2\u05a1\u059a\3\2\2\2\u05a1\u05a2\3\2\2\2\u05a2"+
"\u05a4\3\2\2\2\u05a3\u05a5\7\177\2\2\u05a4\u05a3\3\2\2\2\u05a4\u05a5\3"+
"\2\2\2\u05a5\u05a6\3\2\2\2\u05a6\u05a7\7^\2\2\u05a7\u00a9\3\2\2\2\u05a8"+
"\u05aa\7_\2\2\u05a9\u05ab\7\177\2\2\u05aa\u05a9\3\2\2\2\u05aa\u05ab\3"+
"\2\2\2\u05ab\u05ac\3\2\2\2\u05ac\u05ae\5d\63\2\u05ad\u05af\7\177\2\2\u05ae"+
"\u05ad\3\2\2\2\u05ae\u05af\3\2\2\2\u05af\u05b0\3\2\2\2\u05b0\u05b2\7`"+
"\2\2\u05b1\u05b3\7\177\2\2\u05b2\u05b1\3\2\2\2\u05b2\u05b3\3\2\2\2\u05b3"+
"\u05b4\3\2\2\2\u05b4\u05b5\5d\63\2\u05b5\u00ab\3\2\2\2\u05b6\u05b7\5\u00c0"+
"a\2\u05b7\u00ad\3\2\2\2\u05b8\u05bb\5\u00ba^\2\u05b9\u05bb\5\u00b8]\2"+
"\u05ba\u05b8\3\2\2\2\u05ba\u05b9\3\2\2\2\u05bb\u00af\3\2\2\2\u05bc\u05be"+
"\7\32\2\2\u05bd\u05bf\7\177\2\2\u05be\u05bd\3\2\2\2\u05be\u05bf\3\2\2"+
"\2\u05bf\u05e1\3\2\2\2\u05c0\u05c2\5\u00b6\\\2\u05c1\u05c3\7\177\2\2\u05c2"+
"\u05c1\3\2\2\2\u05c2\u05c3\3\2\2\2\u05c3\u05c4\3\2\2\2\u05c4\u05c6\7\r"+
"\2\2\u05c5\u05c7\7\177\2\2\u05c6\u05c5\3\2\2\2\u05c6\u05c7\3\2\2\2\u05c7"+
"\u05c8\3\2\2\2\u05c8\u05ca\5d\63\2\u05c9\u05cb\7\177\2\2\u05ca\u05c9\3"+
"\2\2\2\u05ca\u05cb\3\2\2\2\u05cb\u05de\3\2\2\2\u05cc\u05ce\7\4\2\2\u05cd"+
"\u05cf\7\177\2\2\u05ce\u05cd\3\2\2\2\u05ce\u05cf\3\2\2\2\u05cf\u05d0\3"+
"\2\2\2\u05d0\u05d2\5\u00b6\\\2\u05d1\u05d3\7\177\2\2\u05d2\u05d1\3\2\2"+
"\2\u05d2\u05d3\3\2\2\2\u05d3\u05d4\3\2\2\2\u05d4\u05d6\7\r\2\2\u05d5\u05d7"+
"\7\177\2\2\u05d6\u05d5\3\2\2\2\u05d6\u05d7\3\2\2\2\u05d7\u05d8\3\2\2\2"+
"\u05d8\u05da\5d\63\2\u05d9\u05db\7\177\2\2\u05da\u05d9\3\2\2\2\u05da\u05db"+
"\3\2\2\2\u05db\u05dd\3\2\2\2\u05dc\u05cc\3\2\2\2\u05dd\u05e0\3\2\2\2\u05de"+
"\u05dc\3\2\2\2\u05de\u05df\3\2\2\2\u05df\u05e2\3\2\2\2\u05e0\u05de\3\2"+
"\2\2\u05e1\u05c0\3\2\2\2\u05e1\u05e2\3\2\2\2\u05e2\u05e3\3\2\2\2\u05e3"+
"\u05e4\7\33\2\2\u05e4\u00b1\3\2\2\2\u05e5\u05e8\7\34\2\2\u05e6\u05e9\5"+
"\u00c0a\2\u05e7\u05e9\7d\2\2\u05e8\u05e6\3\2\2\2\u05e8\u05e7\3\2\2\2\u05e9"+
"\u00b3\3\2\2\2\u05ea\u05ef\5\u0082B\2\u05eb\u05ed\7\177\2\2\u05ec\u05eb"+
"\3\2\2\2\u05ec\u05ed\3\2\2\2\u05ed\u05ee\3\2\2\2\u05ee\u05f0\5\u00a6T"+
"\2\u05ef\u05ec\3\2\2\2\u05f0\u05f1\3\2\2\2\u05f1\u05ef\3\2\2\2\u05f1\u05f2"+
"\3\2\2\2\u05f2\u00b5\3\2\2\2\u05f3\u05f4\5\u00bc_\2\u05f4\u00b7\3\2\2"+
"\2\u05f5\u05f6\t\5\2\2\u05f6\u00b9\3\2\2\2\u05f7\u05f8\t\6\2\2\u05f8\u00bb"+
"\3\2\2\2\u05f9\u05fc\5\u00c0a\2\u05fa\u05fc\5\u00be`\2\u05fb\u05f9\3\2"+
"\2\2\u05fb\u05fa\3\2\2\2\u05fc\u00bd\3\2\2\2\u05fd\u05fe\t\7\2\2\u05fe"+
"\u00bf\3\2\2\2\u05ff\u0600\t\b\2\2\u0600\u00c1\3\2\2\2\u0601\u0602\t\t"+
"\2\2\u0602\u00c3\3\2\2\2\u0603\u0604\t\n\2\2\u0604\u00c5\3\2\2\2\u0605"+
"\u0606\t\13\2\2\u0606\u00c7\3\2\2\2\u011d\u00c9\u00cd\u00d0\u00d3\u00db"+
"\u00df\u00e4\u00eb\u00f0\u00f3\u00f7\u00fb\u00ff\u0105\u0109\u010e\u0113"+
"\u0117\u011a\u011c\u0120\u0124\u0129\u012d\u0132\u0136\u013f\u0144\u0148"+
"\u014c\u0150\u0153\u0157\u0161\u0168\u0175\u0179\u017f\u0186\u018b\u018f"+
"\u0195\u0199\u019f\u01a3\u01a9\u01ad\u01b1\u01b5\u01b9\u01bd\u01c2\u01c9"+
"\u01cd\u01d2\u01d9\u01df\u01e4\u01ea\u01f0\u01f4\u01f8\u01fd\u0201\u0208"+
"\u020e\u0211\u0216\u0219\u021d\u0220\u0228\u022c\u0230\u0234\u0238\u023d"+
"\u0242\u0246\u024b\u024e\u0257\u0260\u0265\u0272\u0275\u027d\u0281\u0286"+
"\u028b\u028f\u0294\u029a\u029f\u02a6\u02aa\u02ae\u02b0\u02b4\u02b6\u02ba"+
"\u02bc\u02c2\u02c8\u02cc\u02cf\u02d2\u02d6\u02dc\u02e0\u02e3\u02e6\u02ec"+
"\u02ef\u02f2\u02f6\u02fc\u02ff\u0302\u0306\u030a\u030e\u0310\u0314\u0316"+
"\u0319\u031d\u031f\u0325\u0329\u032d\u0331\u0334\u0339\u033e\u0343\u0348"+
"\u034e\u0352\u0354\u0358\u035c\u035e\u0360\u036f\u0379\u0383\u0388\u038c"+
"\u0393\u0398\u039d\u03a1\u03a5\u03a9\u03ac\u03ae\u03b3\u03b7\u03bb\u03bf"+
"\u03c3\u03c7\u03ca\u03cc\u03d1\u03d5\u03da\u03df\u03e3\u03ec\u03ee\u03f4"+
"\u03f8\u03ff\u0403\u0407\u040a\u0416\u0419\u0427\u042b\u0430\u0434\u0437"+
"\u043e\u0442\u0446\u044d\u0451\u0455\u045b\u045f\u0463\u0469\u046d\u0471"+
"\u0477\u047b\u047f\u0487\u048f\u0495\u0499\u049d\u04a1\u04a5\u04a8\u04ae"+
"\u04b3\u04b8\u04bd\u04c2\u04c7\u04ca\u04ce\u04d2\u04d8\u04dd\u04e1\u04e4"+
"\u04ee\u04f2\u04f6\u04f8\u04fc\u0500\u0504\u0508\u050b\u0513\u0517\u051b"+
"\u051f\u0523\u0527\u052b\u052e\u053e\u0543\u0547\u054b\u054e\u0551\u0557"+
"\u055b\u055f\u0561\u0565\u0569\u056d\u056f\u0573\u0577\u057d\u0583\u0588"+
"\u058c\u0590\u0595\u0597\u059a\u059e\u05a1\u05a4\u05aa\u05ae\u05b2\u05ba"+
"\u05be\u05c2\u05c6\u05ca\u05ce\u05d2\u05d6\u05da\u05de\u05e1\u05e8\u05ec"+
"\u05f1\u05fb";
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);
}
}
}