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.
it.uniroma2.art.coda.pearl.parser.antlr4.PearlParser Maven / Gradle / Ivy
// Generated from java-escape by ANTLR 4.11.1
package it.uniroma2.art.coda.pearl.parser.antlr4;
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", "CheckReturnValue"})
public class PearlParser extends Parser {
static { RuntimeMetaData.checkVersion("4.11.1", 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,
T__45=46, T__46=47, T__47=48, T__48=49, T__49=50, T__50=51, T__51=52,
T__52=53, T__53=54, T__54=55, T__55=56, RULE_ID=57, REGEX_SYMBOL=58, WS=59,
NEWLINE=60, COMMENT=61, MULTILINE_COMMENT=62, IRIREF=63, VAR1=64, VAR2=65,
PNAME_NS=66, PNAME_LN=67, BLANK_NODE_LABEL=68, LANGTAGORANNOTATION=69,
AT=70, STRING_LITERAL1=71, STRING_LITERAL2=72, CONDITIONOPERATOR=73, REP_PLC=74,
JAVA_IDENTIFIER=75, INTEGER=76, DOUBLE=77;
public static final int
RULE_pearlUnit = 0, RULE_prologue = 1, RULE_prefixDecl = 2, RULE_annotationsDefinition = 3,
RULE_singleAnnotationDefinition = 4, RULE_metaAnnotation = 5, RULE_singleParamOrListOfNameParam = 6,
RULE_singleParamOrListOfParam = 7, RULE_singleParam = 8, RULE_paramsDefinition = 9,
RULE_paramType = 10, RULE_defaultValue = 11, RULE_baseRule = 12, RULE_standardRule = 13,
RULE_lazyRule = 14, RULE_forRegexRule = 15, RULE_uimaTypeName = 16, RULE_conditionClause = 17,
RULE_conditionDef = 18, RULE_depend = 19, RULE_dependParam = 20, RULE_bindingsClause = 21,
RULE_bindingDef = 22, RULE_ruleId = 23, RULE_nodesClause = 24, RULE_nodeDef = 25,
RULE_annotation = 26, RULE_projectionOperator = 27, RULE_converters = 28,
RULE_individualConverter = 29, RULE_converterAdditionalArguments = 30,
RULE_converterArgumentExpression = 31, RULE_converterPlaceholderArgument = 32,
RULE_converterMapArgument = 33, RULE_mapEntry = 34, RULE_featurePath = 35,
RULE_featurePathElement = 36, RULE_graphClause = 37, RULE_insertClause = 38,
RULE_deleteClause = 39, RULE_javaQualifiedName = 40, RULE_graph = 41,
RULE_graphElement = 42, RULE_optionalGraphElement = 43, RULE_graphTriple = 44,
RULE_graphSubject = 45, RULE_graphPredicate = 46, RULE_graphObject = 47,
RULE_propPath = 48, RULE_pathAlternative = 49, RULE_pathSequence = 50,
RULE_pathElt = 51, RULE_pathEltOrInverse = 52, RULE_pathPrimary = 53,
RULE_pathNegatedPropertySet = 54, RULE_pathOneInPropertySet = 55, RULE_var = 56,
RULE_placeholder = 57, RULE_iri = 58, RULE_literal = 59, RULE_string = 60,
RULE_blankNode = 61, RULE_prefixedName = 62, RULE_abbr = 63, RULE_whereClause = 64,
RULE_regex = 65, RULE_regexPattern = 66, RULE_regexWithOr = 67, RULE_regexSequenceElement = 68,
RULE_regexBaseElementWithSymbol = 69, RULE_regexBaseElement = 70;
private static String[] makeRuleNames() {
return new String[] {
"pearlUnit", "prologue", "prefixDecl", "annotationsDefinition", "singleAnnotationDefinition",
"metaAnnotation", "singleParamOrListOfNameParam", "singleParamOrListOfParam",
"singleParam", "paramsDefinition", "paramType", "defaultValue", "baseRule",
"standardRule", "lazyRule", "forRegexRule", "uimaTypeName", "conditionClause",
"conditionDef", "depend", "dependParam", "bindingsClause", "bindingDef",
"ruleId", "nodesClause", "nodeDef", "annotation", "projectionOperator",
"converters", "individualConverter", "converterAdditionalArguments",
"converterArgumentExpression", "converterPlaceholderArgument", "converterMapArgument",
"mapEntry", "featurePath", "featurePathElement", "graphClause", "insertClause",
"deleteClause", "javaQualifiedName", "graph", "graphElement", "optionalGraphElement",
"graphTriple", "graphSubject", "graphPredicate", "graphObject", "propPath",
"pathAlternative", "pathSequence", "pathElt", "pathEltOrInverse", "pathPrimary",
"pathNegatedPropertySet", "pathOneInPropertySet", "var", "placeholder",
"iri", "literal", "string", "blankNode", "prefixedName", "abbr", "whereClause",
"regex", "regexPattern", "regexWithOr", "regexSequenceElement", "regexBaseElementWithSymbol",
"regexBaseElement"
};
}
public static final String[] ruleNames = makeRuleNames();
private static String[] makeLiteralNames() {
return new String[] {
null, "'prefix'", "'PREFIX'", "'Annotation'", "'ANNOTATION'", "'{'",
"'}'", "'('", "')'", "'='", "','", "'default'", "';'", "'[]'", "'rule'",
"'RULE'", "'dependsOn'", "'DEPENDSON'", "'dependson'", "'lazy'", "'forRegex'",
"'forregex'", "'FORREGEX'", "'conditions'", "'CONDITIONS'", "'['", "']'",
"'.'", "'as'", "'AS'", "'bindings'", "'BINDINGS'", "'nodes'", "'NODES'",
"'uri'", "'literal'", "'^^'", "'/'", "'graph'", "'GRAPH'", "'insert'",
"'INSERT'", "'delete'", "'DELETE'", "'optional'", "'OPTIONAL'", "'|'",
"'^'", "'a'", "'!'", "'..'", "'A'", "'where'", "'WHERE'", "'regex'",
"'REGEX'", "'->'", null, null, null, "'\\n'", null, null, null, null,
null, null, null, null, null, "'@'"
};
}
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, null, null,
null, null, null, null, null, null, null, null, null, "RULE_ID", "REGEX_SYMBOL",
"WS", "NEWLINE", "COMMENT", "MULTILINE_COMMENT", "IRIREF", "VAR1", "VAR2",
"PNAME_NS", "PNAME_LN", "BLANK_NODE_LABEL", "LANGTAGORANNOTATION", "AT",
"STRING_LITERAL1", "STRING_LITERAL2", "CONDITIONOPERATOR", "REP_PLC",
"JAVA_IDENTIFIER", "INTEGER", "DOUBLE"
};
}
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 "java-escape"; }
@Override
public String[] getRuleNames() { return ruleNames; }
@Override
public String getSerializedATN() { return _serializedATN; }
@Override
public ATN getATN() { return _ATN; }
public PearlParser(TokenStream input) {
super(input);
_interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
}
@SuppressWarnings("CheckReturnValue")
public static class PearlUnitContext extends ParserRuleContext {
public PrologueContext prologue() {
return getRuleContext(PrologueContext.class,0);
}
public AnnotationsDefinitionContext annotationsDefinition() {
return getRuleContext(AnnotationsDefinitionContext.class,0);
}
public List baseRule() {
return getRuleContexts(BaseRuleContext.class);
}
public BaseRuleContext baseRule(int i) {
return getRuleContext(BaseRuleContext.class,i);
}
public List regex() {
return getRuleContexts(RegexContext.class);
}
public RegexContext regex(int i) {
return getRuleContext(RegexContext.class,i);
}
public PearlUnitContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_pearlUnit; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterPearlUnit(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitPearlUnit(this);
}
}
public final PearlUnitContext pearlUnit() throws RecognitionException {
PearlUnitContext _localctx = new PearlUnitContext(_ctx, getState());
enterRule(_localctx, 0, RULE_pearlUnit);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(142);
prologue();
setState(144);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,0,_ctx) ) {
case 1:
{
setState(143);
annotationsDefinition();
}
break;
}
setState(150);
_errHandler.sync(this);
_la = _input.LA(1);
while ((((_la - 14)) & ~0x3f) == 0 && ((1L << (_la - 14)) & 36032095553847779L) != 0) {
{
setState(148);
_errHandler.sync(this);
switch (_input.LA(1)) {
case T__13:
case T__14:
case T__18:
case T__19:
case T__20:
case T__21:
case LANGTAGORANNOTATION:
{
setState(146);
baseRule();
}
break;
case T__53:
case T__54:
{
setState(147);
regex();
}
break;
default:
throw new NoViableAltException(this);
}
}
setState(152);
_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;
}
@SuppressWarnings("CheckReturnValue")
public static class PrologueContext extends ParserRuleContext {
public List prefixDecl() {
return getRuleContexts(PrefixDeclContext.class);
}
public PrefixDeclContext prefixDecl(int i) {
return getRuleContext(PrefixDeclContext.class,i);
}
public PrologueContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_prologue; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterPrologue(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitPrologue(this);
}
}
public final PrologueContext prologue() throws RecognitionException {
PrologueContext _localctx = new PrologueContext(_ctx, getState());
enterRule(_localctx, 2, RULE_prologue);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(156);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==T__0 || _la==T__1) {
{
{
setState(153);
prefixDecl();
}
}
setState(158);
_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;
}
@SuppressWarnings("CheckReturnValue")
public static class PrefixDeclContext extends ParserRuleContext {
public TerminalNode PNAME_NS() { return getToken(PearlParser.PNAME_NS, 0); }
public TerminalNode IRIREF() { return getToken(PearlParser.IRIREF, 0); }
public PrefixDeclContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_prefixDecl; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterPrefixDecl(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitPrefixDecl(this);
}
}
public final PrefixDeclContext prefixDecl() throws RecognitionException {
PrefixDeclContext _localctx = new PrefixDeclContext(_ctx, getState());
enterRule(_localctx, 4, RULE_prefixDecl);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(159);
_la = _input.LA(1);
if ( !(_la==T__0 || _la==T__1) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(160);
match(PNAME_NS);
setState(161);
match(IRIREF);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class AnnotationsDefinitionContext extends ParserRuleContext {
public List singleAnnotationDefinition() {
return getRuleContexts(SingleAnnotationDefinitionContext.class);
}
public SingleAnnotationDefinitionContext singleAnnotationDefinition(int i) {
return getRuleContext(SingleAnnotationDefinitionContext.class,i);
}
public AnnotationsDefinitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_annotationsDefinition; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterAnnotationsDefinition(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitAnnotationsDefinition(this);
}
}
public final AnnotationsDefinitionContext annotationsDefinition() throws RecognitionException {
AnnotationsDefinitionContext _localctx = new AnnotationsDefinitionContext(_ctx, getState());
enterRule(_localctx, 6, RULE_annotationsDefinition);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(164);
_errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
setState(163);
singleAnnotationDefinition();
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(166);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,4,_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;
}
@SuppressWarnings("CheckReturnValue")
public static class SingleAnnotationDefinitionContext extends ParserRuleContext {
public Token annotationName;
public TerminalNode JAVA_IDENTIFIER() { return getToken(PearlParser.JAVA_IDENTIFIER, 0); }
public List metaAnnotation() {
return getRuleContexts(MetaAnnotationContext.class);
}
public MetaAnnotationContext metaAnnotation(int i) {
return getRuleContext(MetaAnnotationContext.class,i);
}
public List paramsDefinition() {
return getRuleContexts(ParamsDefinitionContext.class);
}
public ParamsDefinitionContext paramsDefinition(int i) {
return getRuleContext(ParamsDefinitionContext.class,i);
}
public SingleAnnotationDefinitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_singleAnnotationDefinition; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterSingleAnnotationDefinition(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitSingleAnnotationDefinition(this);
}
}
public final SingleAnnotationDefinitionContext singleAnnotationDefinition() throws RecognitionException {
SingleAnnotationDefinitionContext _localctx = new SingleAnnotationDefinitionContext(_ctx, getState());
enterRule(_localctx, 8, RULE_singleAnnotationDefinition);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(171);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==LANGTAGORANNOTATION) {
{
{
setState(168);
metaAnnotation();
}
}
setState(173);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(174);
_la = _input.LA(1);
if ( !(_la==T__2 || _la==T__3) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(175);
((SingleAnnotationDefinitionContext)_localctx).annotationName = match(JAVA_IDENTIFIER);
setState(184);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__4) {
{
setState(176);
match(T__4);
setState(180);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==JAVA_IDENTIFIER) {
{
{
setState(177);
paramsDefinition();
}
}
setState(182);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(183);
match(T__5);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class MetaAnnotationContext extends ParserRuleContext {
public Token annotationName;
public TerminalNode LANGTAGORANNOTATION() { return getToken(PearlParser.LANGTAGORANNOTATION, 0); }
public SingleParamOrListOfNameParamContext singleParamOrListOfNameParam() {
return getRuleContext(SingleParamOrListOfNameParamContext.class,0);
}
public MetaAnnotationContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_metaAnnotation; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterMetaAnnotation(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitMetaAnnotation(this);
}
}
public final MetaAnnotationContext metaAnnotation() throws RecognitionException {
MetaAnnotationContext _localctx = new MetaAnnotationContext(_ctx, getState());
enterRule(_localctx, 10, RULE_metaAnnotation);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(186);
((MetaAnnotationContext)_localctx).annotationName = match(LANGTAGORANNOTATION);
setState(191);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__6) {
{
setState(187);
match(T__6);
setState(188);
singleParamOrListOfNameParam();
setState(189);
match(T__7);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SingleParamOrListOfNameParamContext extends ParserRuleContext {
public SingleParamOrListOfParamContext singleP;
public Token JAVA_IDENTIFIER;
public List names = new ArrayList();
public SingleParamOrListOfParamContext singleParamOrListOfParam;
public List params = new ArrayList();
public List singleParamOrListOfParam() {
return getRuleContexts(SingleParamOrListOfParamContext.class);
}
public SingleParamOrListOfParamContext singleParamOrListOfParam(int i) {
return getRuleContext(SingleParamOrListOfParamContext.class,i);
}
public List JAVA_IDENTIFIER() { return getTokens(PearlParser.JAVA_IDENTIFIER); }
public TerminalNode JAVA_IDENTIFIER(int i) {
return getToken(PearlParser.JAVA_IDENTIFIER, i);
}
public SingleParamOrListOfNameParamContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_singleParamOrListOfNameParam; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterSingleParamOrListOfNameParam(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitSingleParamOrListOfNameParam(this);
}
}
public final SingleParamOrListOfNameParamContext singleParamOrListOfNameParam() throws RecognitionException {
SingleParamOrListOfNameParamContext _localctx = new SingleParamOrListOfNameParamContext(_ctx, getState());
enterRule(_localctx, 12, RULE_singleParamOrListOfNameParam);
int _la;
try {
setState(206);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,10,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(193);
((SingleParamOrListOfNameParamContext)_localctx).singleP = singleParamOrListOfParam();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(194);
((SingleParamOrListOfNameParamContext)_localctx).JAVA_IDENTIFIER = match(JAVA_IDENTIFIER);
((SingleParamOrListOfNameParamContext)_localctx).names.add(((SingleParamOrListOfNameParamContext)_localctx).JAVA_IDENTIFIER);
setState(195);
match(T__8);
setState(196);
((SingleParamOrListOfNameParamContext)_localctx).singleParamOrListOfParam = singleParamOrListOfParam();
((SingleParamOrListOfNameParamContext)_localctx).params.add(((SingleParamOrListOfNameParamContext)_localctx).singleParamOrListOfParam);
setState(203);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==T__9) {
{
{
setState(197);
match(T__9);
setState(198);
((SingleParamOrListOfNameParamContext)_localctx).JAVA_IDENTIFIER = match(JAVA_IDENTIFIER);
((SingleParamOrListOfNameParamContext)_localctx).names.add(((SingleParamOrListOfNameParamContext)_localctx).JAVA_IDENTIFIER);
setState(199);
match(T__8);
setState(200);
((SingleParamOrListOfNameParamContext)_localctx).singleParamOrListOfParam = singleParamOrListOfParam();
((SingleParamOrListOfNameParamContext)_localctx).params.add(((SingleParamOrListOfNameParamContext)_localctx).singleParamOrListOfParam);
}
}
setState(205);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SingleParamOrListOfParamContext extends ParserRuleContext {
public SingleParamContext value;
public SingleParamContext singleParam;
public List param = new ArrayList();
public List singleParam() {
return getRuleContexts(SingleParamContext.class);
}
public SingleParamContext singleParam(int i) {
return getRuleContext(SingleParamContext.class,i);
}
public SingleParamOrListOfParamContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_singleParamOrListOfParam; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterSingleParamOrListOfParam(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitSingleParamOrListOfParam(this);
}
}
public final SingleParamOrListOfParamContext singleParamOrListOfParam() throws RecognitionException {
SingleParamOrListOfParamContext _localctx = new SingleParamOrListOfParamContext(_ctx, getState());
enterRule(_localctx, 14, RULE_singleParamOrListOfParam);
int _la;
try {
setState(220);
_errHandler.sync(this);
switch (_input.LA(1)) {
case IRIREF:
case VAR2:
case PNAME_NS:
case PNAME_LN:
case STRING_LITERAL1:
case STRING_LITERAL2:
case JAVA_IDENTIFIER:
case INTEGER:
case DOUBLE:
enterOuterAlt(_localctx, 1);
{
setState(208);
((SingleParamOrListOfParamContext)_localctx).value = singleParam();
}
break;
case T__4:
enterOuterAlt(_localctx, 2);
{
setState(209);
match(T__4);
setState(210);
((SingleParamOrListOfParamContext)_localctx).singleParam = singleParam();
((SingleParamOrListOfParamContext)_localctx).param.add(((SingleParamOrListOfParamContext)_localctx).singleParam);
setState(215);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==T__9) {
{
{
setState(211);
match(T__9);
setState(212);
((SingleParamOrListOfParamContext)_localctx).singleParam = singleParam();
((SingleParamOrListOfParamContext)_localctx).param.add(((SingleParamOrListOfParamContext)_localctx).singleParam);
}
}
setState(217);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(218);
match(T__5);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SingleParamContext extends ParserRuleContext {
public Token valueStr;
public PlaceholderContext plch;
public TerminalNode JAVA_IDENTIFIER() { return getToken(PearlParser.JAVA_IDENTIFIER, 0); }
public TerminalNode INTEGER() { return getToken(PearlParser.INTEGER, 0); }
public TerminalNode DOUBLE() { return getToken(PearlParser.DOUBLE, 0); }
public PlaceholderContext placeholder() {
return getRuleContext(PlaceholderContext.class,0);
}
public IriContext iri() {
return getRuleContext(IriContext.class,0);
}
public LiteralContext literal() {
return getRuleContext(LiteralContext.class,0);
}
public SingleParamContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_singleParam; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterSingleParam(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitSingleParam(this);
}
}
public final SingleParamContext singleParam() throws RecognitionException {
SingleParamContext _localctx = new SingleParamContext(_ctx, getState());
enterRule(_localctx, 16, RULE_singleParam);
try {
setState(228);
_errHandler.sync(this);
switch (_input.LA(1)) {
case JAVA_IDENTIFIER:
enterOuterAlt(_localctx, 1);
{
setState(222);
((SingleParamContext)_localctx).valueStr = match(JAVA_IDENTIFIER);
}
break;
case INTEGER:
enterOuterAlt(_localctx, 2);
{
setState(223);
match(INTEGER);
}
break;
case DOUBLE:
enterOuterAlt(_localctx, 3);
{
setState(224);
match(DOUBLE);
}
break;
case VAR2:
enterOuterAlt(_localctx, 4);
{
setState(225);
((SingleParamContext)_localctx).plch = placeholder();
}
break;
case IRIREF:
case PNAME_NS:
case PNAME_LN:
enterOuterAlt(_localctx, 5);
{
setState(226);
iri();
}
break;
case STRING_LITERAL1:
case STRING_LITERAL2:
enterOuterAlt(_localctx, 6);
{
setState(227);
literal();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ParamsDefinitionContext extends ParserRuleContext {
public Token paramName;
public ParamTypeContext paramType() {
return getRuleContext(ParamTypeContext.class,0);
}
public TerminalNode JAVA_IDENTIFIER() { return getToken(PearlParser.JAVA_IDENTIFIER, 0); }
public DefaultValueContext defaultValue() {
return getRuleContext(DefaultValueContext.class,0);
}
public ParamsDefinitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_paramsDefinition; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterParamsDefinition(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitParamsDefinition(this);
}
}
public final ParamsDefinitionContext paramsDefinition() throws RecognitionException {
ParamsDefinitionContext _localctx = new ParamsDefinitionContext(_ctx, getState());
enterRule(_localctx, 18, RULE_paramsDefinition);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(230);
paramType();
setState(231);
((ParamsDefinitionContext)_localctx).paramName = match(JAVA_IDENTIFIER);
setState(232);
match(T__6);
setState(233);
match(T__7);
setState(236);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__10) {
{
setState(234);
match(T__10);
setState(235);
defaultValue();
}
}
setState(238);
match(T__11);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ParamTypeContext extends ParserRuleContext {
public TerminalNode JAVA_IDENTIFIER() { return getToken(PearlParser.JAVA_IDENTIFIER, 0); }
public ParamTypeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_paramType; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterParamType(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitParamType(this);
}
}
public final ParamTypeContext paramType() throws RecognitionException {
ParamTypeContext _localctx = new ParamTypeContext(_ctx, getState());
enterRule(_localctx, 20, RULE_paramType);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(240);
match(JAVA_IDENTIFIER);
setState(242);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__12) {
{
setState(241);
match(T__12);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class DefaultValueContext extends ParserRuleContext {
public Token valueStr;
public TerminalNode JAVA_IDENTIFIER() { return getToken(PearlParser.JAVA_IDENTIFIER, 0); }
public TerminalNode INTEGER() { return getToken(PearlParser.INTEGER, 0); }
public TerminalNode DOUBLE() { return getToken(PearlParser.DOUBLE, 0); }
public IriContext iri() {
return getRuleContext(IriContext.class,0);
}
public LiteralContext literal() {
return getRuleContext(LiteralContext.class,0);
}
public DefaultValueContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_defaultValue; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterDefaultValue(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitDefaultValue(this);
}
}
public final DefaultValueContext defaultValue() throws RecognitionException {
DefaultValueContext _localctx = new DefaultValueContext(_ctx, getState());
enterRule(_localctx, 22, RULE_defaultValue);
try {
setState(249);
_errHandler.sync(this);
switch (_input.LA(1)) {
case JAVA_IDENTIFIER:
enterOuterAlt(_localctx, 1);
{
setState(244);
((DefaultValueContext)_localctx).valueStr = match(JAVA_IDENTIFIER);
}
break;
case INTEGER:
enterOuterAlt(_localctx, 2);
{
setState(245);
match(INTEGER);
}
break;
case DOUBLE:
enterOuterAlt(_localctx, 3);
{
setState(246);
match(DOUBLE);
}
break;
case IRIREF:
case PNAME_NS:
case PNAME_LN:
enterOuterAlt(_localctx, 4);
{
setState(247);
iri();
}
break;
case STRING_LITERAL1:
case STRING_LITERAL2:
enterOuterAlt(_localctx, 5);
{
setState(248);
literal();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class BaseRuleContext extends ParserRuleContext {
public StandardRuleContext standardRule() {
return getRuleContext(StandardRuleContext.class,0);
}
public LazyRuleContext lazyRule() {
return getRuleContext(LazyRuleContext.class,0);
}
public ForRegexRuleContext forRegexRule() {
return getRuleContext(ForRegexRuleContext.class,0);
}
public List annotation() {
return getRuleContexts(AnnotationContext.class);
}
public AnnotationContext annotation(int i) {
return getRuleContext(AnnotationContext.class,i);
}
public BaseRuleContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_baseRule; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterBaseRule(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitBaseRule(this);
}
}
public final BaseRuleContext baseRule() throws RecognitionException {
BaseRuleContext _localctx = new BaseRuleContext(_ctx, getState());
enterRule(_localctx, 24, RULE_baseRule);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(254);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==LANGTAGORANNOTATION) {
{
{
setState(251);
annotation();
}
}
setState(256);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(260);
_errHandler.sync(this);
switch (_input.LA(1)) {
case T__13:
case T__14:
{
setState(257);
standardRule();
}
break;
case T__18:
{
setState(258);
lazyRule();
}
break;
case T__19:
case T__20:
case T__21:
{
setState(259);
forRegexRule();
}
break;
default:
throw new NoViableAltException(this);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class StandardRuleContext extends ParserRuleContext {
public UimaTypeNameContext uimaTypeName() {
return getRuleContext(UimaTypeNameContext.class,0);
}
public RuleIdContext ruleId() {
return getRuleContext(RuleIdContext.class,0);
}
public List depend() {
return getRuleContexts(DependContext.class);
}
public DependContext depend(int i) {
return getRuleContext(DependContext.class,i);
}
public ConditionClauseContext conditionClause() {
return getRuleContext(ConditionClauseContext.class,0);
}
public BindingsClauseContext bindingsClause() {
return getRuleContext(BindingsClauseContext.class,0);
}
public NodesClauseContext nodesClause() {
return getRuleContext(NodesClauseContext.class,0);
}
public InsertClauseContext insertClause() {
return getRuleContext(InsertClauseContext.class,0);
}
public GraphClauseContext graphClause() {
return getRuleContext(GraphClauseContext.class,0);
}
public DeleteClauseContext deleteClause() {
return getRuleContext(DeleteClauseContext.class,0);
}
public WhereClauseContext whereClause() {
return getRuleContext(WhereClauseContext.class,0);
}
public StandardRuleContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_standardRule; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterStandardRule(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitStandardRule(this);
}
}
public final StandardRuleContext standardRule() throws RecognitionException {
StandardRuleContext _localctx = new StandardRuleContext(_ctx, getState());
enterRule(_localctx, 26, RULE_standardRule);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(262);
_la = _input.LA(1);
if ( !(_la==T__13 || _la==T__14) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(263);
uimaTypeName();
setState(264);
ruleId();
setState(274);
_errHandler.sync(this);
_la = _input.LA(1);
if (((_la) & ~0x3f) == 0 && ((1L << _la) & 458752L) != 0) {
{
setState(265);
_la = _input.LA(1);
if ( !(((_la) & ~0x3f) == 0 && ((1L << _la) & 458752L) != 0) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(266);
depend();
setState(271);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==T__9) {
{
{
setState(267);
match(T__9);
setState(268);
depend();
}
}
setState(273);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
setState(276);
match(T__4);
setState(278);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__22 || _la==T__23) {
{
setState(277);
conditionClause();
}
}
setState(281);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__29 || _la==T__30) {
{
setState(280);
bindingsClause();
}
}
setState(284);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__31 || _la==T__32) {
{
setState(283);
nodesClause();
}
}
setState(288);
_errHandler.sync(this);
switch (_input.LA(1)) {
case T__39:
case T__40:
{
setState(286);
insertClause();
}
break;
case T__37:
case T__38:
{
setState(287);
graphClause();
}
break;
case T__5:
case T__41:
case T__42:
case T__51:
case T__52:
break;
default:
break;
}
setState(291);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__41 || _la==T__42) {
{
setState(290);
deleteClause();
}
}
setState(294);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__51 || _la==T__52) {
{
setState(293);
whereClause();
}
}
setState(296);
match(T__5);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class LazyRuleContext extends ParserRuleContext {
public UimaTypeNameContext uimaTypeName() {
return getRuleContext(UimaTypeNameContext.class,0);
}
public RuleIdContext ruleId() {
return getRuleContext(RuleIdContext.class,0);
}
public NodesClauseContext nodesClause() {
return getRuleContext(NodesClauseContext.class,0);
}
public LazyRuleContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_lazyRule; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterLazyRule(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitLazyRule(this);
}
}
public final LazyRuleContext lazyRule() throws RecognitionException {
LazyRuleContext _localctx = new LazyRuleContext(_ctx, getState());
enterRule(_localctx, 28, RULE_lazyRule);
try {
enterOuterAlt(_localctx, 1);
{
setState(298);
match(T__18);
setState(299);
match(T__13);
setState(300);
uimaTypeName();
setState(301);
ruleId();
setState(302);
match(T__4);
setState(303);
nodesClause();
setState(304);
match(T__5);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ForRegexRuleContext extends ParserRuleContext {
public UimaTypeNameContext uimaTypeName() {
return getRuleContext(UimaTypeNameContext.class,0);
}
public RuleIdContext ruleId() {
return getRuleContext(RuleIdContext.class,0);
}
public NodesClauseContext nodesClause() {
return getRuleContext(NodesClauseContext.class,0);
}
public ConditionClauseContext conditionClause() {
return getRuleContext(ConditionClauseContext.class,0);
}
public ForRegexRuleContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_forRegexRule; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterForRegexRule(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitForRegexRule(this);
}
}
public final ForRegexRuleContext forRegexRule() throws RecognitionException {
ForRegexRuleContext _localctx = new ForRegexRuleContext(_ctx, getState());
enterRule(_localctx, 30, RULE_forRegexRule);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(306);
_la = _input.LA(1);
if ( !(((_la) & ~0x3f) == 0 && ((1L << _la) & 7340032L) != 0) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(307);
_la = _input.LA(1);
if ( !(_la==T__13 || _la==T__14) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(308);
uimaTypeName();
setState(309);
ruleId();
setState(310);
match(T__4);
setState(312);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__22 || _la==T__23) {
{
setState(311);
conditionClause();
}
}
setState(314);
nodesClause();
setState(315);
match(T__5);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class UimaTypeNameContext extends ParserRuleContext {
public JavaQualifiedNameContext javaQualifiedName() {
return getRuleContext(JavaQualifiedNameContext.class,0);
}
public UimaTypeNameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_uimaTypeName; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterUimaTypeName(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitUimaTypeName(this);
}
}
public final UimaTypeNameContext uimaTypeName() throws RecognitionException {
UimaTypeNameContext _localctx = new UimaTypeNameContext(_ctx, getState());
enterRule(_localctx, 32, RULE_uimaTypeName);
try {
enterOuterAlt(_localctx, 1);
{
setState(317);
javaQualifiedName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ConditionClauseContext extends ParserRuleContext {
public List conditionDef() {
return getRuleContexts(ConditionDefContext.class);
}
public ConditionDefContext conditionDef(int i) {
return getRuleContext(ConditionDefContext.class,i);
}
public ConditionClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_conditionClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterConditionClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitConditionClause(this);
}
}
public final ConditionClauseContext conditionClause() throws RecognitionException {
ConditionClauseContext _localctx = new ConditionClauseContext(_ctx, getState());
enterRule(_localctx, 34, RULE_conditionClause);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(319);
_la = _input.LA(1);
if ( !(_la==T__22 || _la==T__23) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(320);
match(T__8);
setState(321);
match(T__4);
setState(323);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(322);
conditionDef();
}
}
setState(325);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==REP_PLC || _la==JAVA_IDENTIFIER );
setState(327);
match(T__5);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ConditionDefContext extends ParserRuleContext {
public StringContext string;
public List values = new ArrayList();
public FeaturePathContext featurePath() {
return getRuleContext(FeaturePathContext.class,0);
}
public TerminalNode CONDITIONOPERATOR() { return getToken(PearlParser.CONDITIONOPERATOR, 0); }
public List string() {
return getRuleContexts(StringContext.class);
}
public StringContext string(int i) {
return getRuleContext(StringContext.class,i);
}
public ConditionDefContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_conditionDef; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterConditionDef(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitConditionDef(this);
}
}
public final ConditionDefContext conditionDef() throws RecognitionException {
ConditionDefContext _localctx = new ConditionDefContext(_ctx, getState());
enterRule(_localctx, 36, RULE_conditionDef);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(329);
featurePath();
setState(330);
match(CONDITIONOPERATOR);
setState(331);
match(T__24);
setState(332);
((ConditionDefContext)_localctx).string = string();
((ConditionDefContext)_localctx).values.add(((ConditionDefContext)_localctx).string);
setState(337);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==T__9) {
{
{
setState(333);
match(T__9);
setState(334);
((ConditionDefContext)_localctx).string = string();
((ConditionDefContext)_localctx).values.add(((ConditionDefContext)_localctx).string);
}
}
setState(339);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(340);
match(T__25);
setState(341);
match(T__26);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class DependContext extends ParserRuleContext {
public Token dependType;
public Token JAVA_IDENTIFIER;
public List depRuleIds = new ArrayList();
public DependParamContext dependParam;
public List params = new ArrayList();
public Token depRuleIdAs;
public List JAVA_IDENTIFIER() { return getTokens(PearlParser.JAVA_IDENTIFIER); }
public TerminalNode JAVA_IDENTIFIER(int i) {
return getToken(PearlParser.JAVA_IDENTIFIER, i);
}
public List dependParam() {
return getRuleContexts(DependParamContext.class);
}
public DependParamContext dependParam(int i) {
return getRuleContext(DependParamContext.class,i);
}
public DependContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_depend; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterDepend(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitDepend(this);
}
}
public final DependContext depend() throws RecognitionException {
DependContext _localctx = new DependContext(_ctx, getState());
enterRule(_localctx, 38, RULE_depend);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(343);
((DependContext)_localctx).dependType = match(JAVA_IDENTIFIER);
setState(344);
match(T__6);
setState(347);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,30,_ctx) ) {
case 1:
{
setState(345);
((DependContext)_localctx).JAVA_IDENTIFIER = match(JAVA_IDENTIFIER);
((DependContext)_localctx).depRuleIds.add(((DependContext)_localctx).JAVA_IDENTIFIER);
}
break;
case 2:
{
setState(346);
((DependContext)_localctx).dependParam = dependParam();
((DependContext)_localctx).params.add(((DependContext)_localctx).dependParam);
}
break;
}
setState(356);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==T__9) {
{
{
setState(349);
match(T__9);
setState(352);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,31,_ctx) ) {
case 1:
{
setState(350);
((DependContext)_localctx).JAVA_IDENTIFIER = match(JAVA_IDENTIFIER);
((DependContext)_localctx).depRuleIds.add(((DependContext)_localctx).JAVA_IDENTIFIER);
}
break;
case 2:
{
setState(351);
((DependContext)_localctx).dependParam = dependParam();
((DependContext)_localctx).params.add(((DependContext)_localctx).dependParam);
}
break;
}
}
}
setState(358);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(359);
match(T__7);
setState(360);
_la = _input.LA(1);
if ( !(_la==T__27 || _la==T__28) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(361);
((DependContext)_localctx).depRuleIdAs = match(JAVA_IDENTIFIER);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class DependParamContext extends ParserRuleContext {
public Token name;
public Token value;
public List JAVA_IDENTIFIER() { return getTokens(PearlParser.JAVA_IDENTIFIER); }
public TerminalNode JAVA_IDENTIFIER(int i) {
return getToken(PearlParser.JAVA_IDENTIFIER, i);
}
public TerminalNode INTEGER() { return getToken(PearlParser.INTEGER, 0); }
public DependParamContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dependParam; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterDependParam(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitDependParam(this);
}
}
public final DependParamContext dependParam() throws RecognitionException {
DependParamContext _localctx = new DependParamContext(_ctx, getState());
enterRule(_localctx, 40, RULE_dependParam);
try {
enterOuterAlt(_localctx, 1);
{
setState(363);
((DependParamContext)_localctx).name = match(JAVA_IDENTIFIER);
setState(364);
match(T__8);
setState(367);
_errHandler.sync(this);
switch (_input.LA(1)) {
case JAVA_IDENTIFIER:
{
setState(365);
((DependParamContext)_localctx).value = match(JAVA_IDENTIFIER);
}
break;
case INTEGER:
{
setState(366);
((DependParamContext)_localctx).value = match(INTEGER);
}
break;
default:
throw new NoViableAltException(this);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class BindingsClauseContext extends ParserRuleContext {
public List bindingDef() {
return getRuleContexts(BindingDefContext.class);
}
public BindingDefContext bindingDef(int i) {
return getRuleContext(BindingDefContext.class,i);
}
public BindingsClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_bindingsClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterBindingsClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitBindingsClause(this);
}
}
public final BindingsClauseContext bindingsClause() throws RecognitionException {
BindingsClauseContext _localctx = new BindingsClauseContext(_ctx, getState());
enterRule(_localctx, 42, RULE_bindingsClause);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(369);
_la = _input.LA(1);
if ( !(_la==T__29 || _la==T__30) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(370);
match(T__8);
setState(371);
match(T__4);
setState(373);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(372);
bindingDef();
}
}
setState(375);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==JAVA_IDENTIFIER );
setState(377);
match(T__5);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class BindingDefContext extends ParserRuleContext {
public Token bindingId;
public Token bindingRuleId;
public FeaturePathContext featurePath() {
return getRuleContext(FeaturePathContext.class,0);
}
public List JAVA_IDENTIFIER() { return getTokens(PearlParser.JAVA_IDENTIFIER); }
public TerminalNode JAVA_IDENTIFIER(int i) {
return getToken(PearlParser.JAVA_IDENTIFIER, i);
}
public BindingDefContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_bindingDef; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterBindingDef(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitBindingDef(this);
}
}
public final BindingDefContext bindingDef() throws RecognitionException {
BindingDefContext _localctx = new BindingDefContext(_ctx, getState());
enterRule(_localctx, 44, RULE_bindingDef);
try {
enterOuterAlt(_localctx, 1);
{
setState(379);
((BindingDefContext)_localctx).bindingId = match(JAVA_IDENTIFIER);
setState(380);
featurePath();
setState(381);
((BindingDefContext)_localctx).bindingRuleId = match(JAVA_IDENTIFIER);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class RuleIdContext extends ParserRuleContext {
public TerminalNode RULE_ID() { return getToken(PearlParser.RULE_ID, 0); }
public RuleIdContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_ruleId; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterRuleId(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitRuleId(this);
}
}
public final RuleIdContext ruleId() throws RecognitionException {
RuleIdContext _localctx = new RuleIdContext(_ctx, getState());
enterRule(_localctx, 46, RULE_ruleId);
try {
enterOuterAlt(_localctx, 1);
{
setState(383);
match(RULE_ID);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class NodesClauseContext extends ParserRuleContext {
public List nodeDef() {
return getRuleContexts(NodeDefContext.class);
}
public NodeDefContext nodeDef(int i) {
return getRuleContext(NodeDefContext.class,i);
}
public NodesClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_nodesClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterNodesClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitNodesClause(this);
}
}
public final NodesClauseContext nodesClause() throws RecognitionException {
NodesClauseContext _localctx = new NodesClauseContext(_ctx, getState());
enterRule(_localctx, 48, RULE_nodesClause);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(385);
_la = _input.LA(1);
if ( !(_la==T__31 || _la==T__32) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(386);
match(T__8);
setState(387);
match(T__4);
setState(389);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(388);
nodeDef();
}
}
setState(391);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==LANGTAGORANNOTATION || _la==JAVA_IDENTIFIER );
setState(393);
match(T__5);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class NodeDefContext extends ParserRuleContext {
public Token nodeName;
public ProjectionOperatorContext projectionOperator() {
return getRuleContext(ProjectionOperatorContext.class,0);
}
public TerminalNode JAVA_IDENTIFIER() { return getToken(PearlParser.JAVA_IDENTIFIER, 0); }
public List annotation() {
return getRuleContexts(AnnotationContext.class);
}
public AnnotationContext annotation(int i) {
return getRuleContext(AnnotationContext.class,i);
}
public FeaturePathContext featurePath() {
return getRuleContext(FeaturePathContext.class,0);
}
public NodeDefContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_nodeDef; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterNodeDef(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitNodeDef(this);
}
}
public final NodeDefContext nodeDef() throws RecognitionException {
NodeDefContext _localctx = new NodeDefContext(_ctx, getState());
enterRule(_localctx, 50, RULE_nodeDef);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(398);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==LANGTAGORANNOTATION) {
{
{
setState(395);
annotation();
}
}
setState(400);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(401);
((NodeDefContext)_localctx).nodeName = match(JAVA_IDENTIFIER);
setState(402);
projectionOperator();
setState(408);
_errHandler.sync(this);
switch (_input.LA(1)) {
case REP_PLC:
case JAVA_IDENTIFIER:
{
{
setState(403);
featurePath();
setState(405);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__26) {
{
setState(404);
match(T__26);
}
}
}
}
break;
case T__26:
{
setState(407);
match(T__26);
}
break;
default:
throw new NoViableAltException(this);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class AnnotationContext extends ParserRuleContext {
public Token annotationName;
public TerminalNode LANGTAGORANNOTATION() { return getToken(PearlParser.LANGTAGORANNOTATION, 0); }
public SingleParamOrListOfNameParamContext singleParamOrListOfNameParam() {
return getRuleContext(SingleParamOrListOfNameParamContext.class,0);
}
public AnnotationContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_annotation; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterAnnotation(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitAnnotation(this);
}
}
public final AnnotationContext annotation() throws RecognitionException {
AnnotationContext _localctx = new AnnotationContext(_ctx, getState());
enterRule(_localctx, 52, RULE_annotation);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(410);
((AnnotationContext)_localctx).annotationName = match(LANGTAGORANNOTATION);
setState(415);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__6) {
{
setState(411);
match(T__6);
setState(412);
singleParamOrListOfNameParam();
setState(413);
match(T__7);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ProjectionOperatorContext extends ParserRuleContext {
public Token type;
public Token rep_plc;
public ConvertersContext converters() {
return getRuleContext(ConvertersContext.class,0);
}
public IriContext iri() {
return getRuleContext(IriContext.class,0);
}
public TerminalNode LANGTAGORANNOTATION() { return getToken(PearlParser.LANGTAGORANNOTATION, 0); }
public TerminalNode REP_PLC() { return getToken(PearlParser.REP_PLC, 0); }
public ProjectionOperatorContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_projectionOperator; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterProjectionOperator(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitProjectionOperator(this);
}
}
public final ProjectionOperatorContext projectionOperator() throws RecognitionException {
ProjectionOperatorContext _localctx = new ProjectionOperatorContext(_ctx, getState());
enterRule(_localctx, 54, RULE_projectionOperator);
int _la;
try {
setState(440);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,45,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(417);
((ProjectionOperatorContext)_localctx).type = match(T__33);
setState(419);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__6) {
{
setState(418);
converters();
}
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(421);
((ProjectionOperatorContext)_localctx).type = match(T__34);
setState(422);
match(T__35);
setState(423);
iri();
setState(425);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__6) {
{
setState(424);
converters();
}
}
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(427);
((ProjectionOperatorContext)_localctx).type = match(T__34);
setState(428);
match(LANGTAGORANNOTATION);
setState(430);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__6) {
{
setState(429);
converters();
}
}
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(432);
((ProjectionOperatorContext)_localctx).type = match(T__34);
setState(434);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__6) {
{
setState(433);
converters();
}
}
}
break;
case 5:
enterOuterAlt(_localctx, 5);
{
setState(436);
((ProjectionOperatorContext)_localctx).rep_plc = match(REP_PLC);
setState(438);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__6) {
{
setState(437);
converters();
}
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ConvertersContext extends ParserRuleContext {
public List individualConverter() {
return getRuleContexts(IndividualConverterContext.class);
}
public IndividualConverterContext individualConverter(int i) {
return getRuleContext(IndividualConverterContext.class,i);
}
public ConvertersContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_converters; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterConverters(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitConverters(this);
}
}
public final ConvertersContext converters() throws RecognitionException {
ConvertersContext _localctx = new ConvertersContext(_ctx, getState());
enterRule(_localctx, 56, RULE_converters);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(442);
match(T__6);
setState(443);
individualConverter();
setState(448);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==T__9) {
{
{
setState(444);
match(T__9);
setState(445);
individualConverter();
}
}
setState(450);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(451);
match(T__7);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class IndividualConverterContext extends ParserRuleContext {
public Token rep_plc;
public IriContext iri() {
return getRuleContext(IriContext.class,0);
}
public ConverterAdditionalArgumentsContext converterAdditionalArguments() {
return getRuleContext(ConverterAdditionalArgumentsContext.class,0);
}
public TerminalNode REP_PLC() { return getToken(PearlParser.REP_PLC, 0); }
public IndividualConverterContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_individualConverter; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterIndividualConverter(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitIndividualConverter(this);
}
}
public final IndividualConverterContext individualConverter() throws RecognitionException {
IndividualConverterContext _localctx = new IndividualConverterContext(_ctx, getState());
enterRule(_localctx, 58, RULE_individualConverter);
int _la;
try {
setState(461);
_errHandler.sync(this);
switch (_input.LA(1)) {
case IRIREF:
case PNAME_NS:
case PNAME_LN:
enterOuterAlt(_localctx, 1);
{
setState(453);
iri();
setState(455);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__6) {
{
setState(454);
converterAdditionalArguments();
}
}
}
break;
case REP_PLC:
enterOuterAlt(_localctx, 2);
{
setState(457);
((IndividualConverterContext)_localctx).rep_plc = match(REP_PLC);
setState(459);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__6) {
{
setState(458);
converterAdditionalArguments();
}
}
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ConverterAdditionalArgumentsContext extends ParserRuleContext {
public List converterArgumentExpression() {
return getRuleContexts(ConverterArgumentExpressionContext.class);
}
public ConverterArgumentExpressionContext converterArgumentExpression(int i) {
return getRuleContext(ConverterArgumentExpressionContext.class,i);
}
public ConverterAdditionalArgumentsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_converterAdditionalArguments; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterConverterAdditionalArguments(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitConverterAdditionalArguments(this);
}
}
public final ConverterAdditionalArgumentsContext converterAdditionalArguments() throws RecognitionException {
ConverterAdditionalArgumentsContext _localctx = new ConverterAdditionalArgumentsContext(_ctx, getState());
enterRule(_localctx, 60, RULE_converterAdditionalArguments);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(463);
match(T__6);
setState(472);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__4 || _la==IRIREF || (((_la - 65)) & ~0x3f) == 0 && ((1L << (_la - 65)) & 199L) != 0) {
{
setState(464);
converterArgumentExpression();
setState(469);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==T__9) {
{
{
setState(465);
match(T__9);
setState(466);
converterArgumentExpression();
}
}
setState(471);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
setState(474);
match(T__7);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ConverterArgumentExpressionContext extends ParserRuleContext {
public LiteralContext literal() {
return getRuleContext(LiteralContext.class,0);
}
public IriContext iri() {
return getRuleContext(IriContext.class,0);
}
public ConverterPlaceholderArgumentContext converterPlaceholderArgument() {
return getRuleContext(ConverterPlaceholderArgumentContext.class,0);
}
public ConverterMapArgumentContext converterMapArgument() {
return getRuleContext(ConverterMapArgumentContext.class,0);
}
public ConverterArgumentExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_converterArgumentExpression; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterConverterArgumentExpression(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitConverterArgumentExpression(this);
}
}
public final ConverterArgumentExpressionContext converterArgumentExpression() throws RecognitionException {
ConverterArgumentExpressionContext _localctx = new ConverterArgumentExpressionContext(_ctx, getState());
enterRule(_localctx, 62, RULE_converterArgumentExpression);
try {
setState(480);
_errHandler.sync(this);
switch (_input.LA(1)) {
case STRING_LITERAL1:
case STRING_LITERAL2:
enterOuterAlt(_localctx, 1);
{
setState(476);
literal();
}
break;
case IRIREF:
case PNAME_NS:
case PNAME_LN:
enterOuterAlt(_localctx, 2);
{
setState(477);
iri();
}
break;
case VAR2:
enterOuterAlt(_localctx, 3);
{
setState(478);
converterPlaceholderArgument();
}
break;
case T__4:
enterOuterAlt(_localctx, 4);
{
setState(479);
converterMapArgument();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ConverterPlaceholderArgumentContext extends ParserRuleContext {
public TerminalNode VAR2() { return getToken(PearlParser.VAR2, 0); }
public ConverterPlaceholderArgumentContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_converterPlaceholderArgument; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterConverterPlaceholderArgument(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitConverterPlaceholderArgument(this);
}
}
public final ConverterPlaceholderArgumentContext converterPlaceholderArgument() throws RecognitionException {
ConverterPlaceholderArgumentContext _localctx = new ConverterPlaceholderArgumentContext(_ctx, getState());
enterRule(_localctx, 64, RULE_converterPlaceholderArgument);
try {
enterOuterAlt(_localctx, 1);
{
setState(482);
match(VAR2);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ConverterMapArgumentContext extends ParserRuleContext {
public List mapEntry() {
return getRuleContexts(MapEntryContext.class);
}
public MapEntryContext mapEntry(int i) {
return getRuleContext(MapEntryContext.class,i);
}
public ConverterMapArgumentContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_converterMapArgument; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterConverterMapArgument(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitConverterMapArgument(this);
}
}
public final ConverterMapArgumentContext converterMapArgument() throws RecognitionException {
ConverterMapArgumentContext _localctx = new ConverterMapArgumentContext(_ctx, getState());
enterRule(_localctx, 66, RULE_converterMapArgument);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(484);
match(T__4);
setState(493);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==JAVA_IDENTIFIER) {
{
setState(485);
mapEntry();
setState(490);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==T__9) {
{
{
setState(486);
match(T__9);
setState(487);
mapEntry();
}
}
setState(492);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
setState(495);
match(T__5);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class MapEntryContext extends ParserRuleContext {
public TerminalNode JAVA_IDENTIFIER() { return getToken(PearlParser.JAVA_IDENTIFIER, 0); }
public LiteralContext literal() {
return getRuleContext(LiteralContext.class,0);
}
public IriContext iri() {
return getRuleContext(IriContext.class,0);
}
public ConverterPlaceholderArgumentContext converterPlaceholderArgument() {
return getRuleContext(ConverterPlaceholderArgumentContext.class,0);
}
public MapEntryContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_mapEntry; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterMapEntry(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitMapEntry(this);
}
}
public final MapEntryContext mapEntry() throws RecognitionException {
MapEntryContext _localctx = new MapEntryContext(_ctx, getState());
enterRule(_localctx, 68, RULE_mapEntry);
try {
setState(506);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,55,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(497);
match(JAVA_IDENTIFIER);
setState(498);
match(T__8);
setState(499);
literal();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(500);
match(JAVA_IDENTIFIER);
setState(501);
match(T__8);
setState(502);
iri();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(503);
match(JAVA_IDENTIFIER);
setState(504);
match(T__8);
setState(505);
converterPlaceholderArgument();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class FeaturePathContext extends ParserRuleContext {
public Token rep_plc;
public List featurePathElement() {
return getRuleContexts(FeaturePathElementContext.class);
}
public FeaturePathElementContext featurePathElement(int i) {
return getRuleContext(FeaturePathElementContext.class,i);
}
public TerminalNode REP_PLC() { return getToken(PearlParser.REP_PLC, 0); }
public FeaturePathContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_featurePath; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterFeaturePath(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitFeaturePath(this);
}
}
public final FeaturePathContext featurePath() throws RecognitionException {
FeaturePathContext _localctx = new FeaturePathContext(_ctx, getState());
enterRule(_localctx, 70, RULE_featurePath);
int _la;
try {
setState(517);
_errHandler.sync(this);
switch (_input.LA(1)) {
case JAVA_IDENTIFIER:
enterOuterAlt(_localctx, 1);
{
setState(508);
featurePathElement();
setState(513);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==T__36) {
{
{
setState(509);
match(T__36);
setState(510);
featurePathElement();
}
}
setState(515);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
break;
case REP_PLC:
enterOuterAlt(_localctx, 2);
{
setState(516);
((FeaturePathContext)_localctx).rep_plc = match(REP_PLC);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class FeaturePathElementContext extends ParserRuleContext {
public TerminalNode JAVA_IDENTIFIER() { return getToken(PearlParser.JAVA_IDENTIFIER, 0); }
public TerminalNode INTEGER() { return getToken(PearlParser.INTEGER, 0); }
public FeaturePathElementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_featurePathElement; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterFeaturePathElement(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitFeaturePathElement(this);
}
}
public final FeaturePathElementContext featurePathElement() throws RecognitionException {
FeaturePathElementContext _localctx = new FeaturePathElementContext(_ctx, getState());
enterRule(_localctx, 72, RULE_featurePathElement);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(519);
match(JAVA_IDENTIFIER);
setState(523);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==T__24) {
{
setState(520);
match(T__24);
setState(521);
match(INTEGER);
setState(522);
match(T__25);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class GraphClauseContext extends ParserRuleContext {
public GraphContext graph() {
return getRuleContext(GraphContext.class,0);
}
public GraphClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_graphClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterGraphClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitGraphClause(this);
}
}
public final GraphClauseContext graphClause() throws RecognitionException {
GraphClauseContext _localctx = new GraphClauseContext(_ctx, getState());
enterRule(_localctx, 74, RULE_graphClause);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(525);
_la = _input.LA(1);
if ( !(_la==T__37 || _la==T__38) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(526);
match(T__8);
setState(527);
graph();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class InsertClauseContext extends ParserRuleContext {
public GraphContext graph() {
return getRuleContext(GraphContext.class,0);
}
public InsertClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_insertClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterInsertClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitInsertClause(this);
}
}
public final InsertClauseContext insertClause() throws RecognitionException {
InsertClauseContext _localctx = new InsertClauseContext(_ctx, getState());
enterRule(_localctx, 76, RULE_insertClause);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(529);
_la = _input.LA(1);
if ( !(_la==T__39 || _la==T__40) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(530);
match(T__8);
setState(531);
graph();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class DeleteClauseContext extends ParserRuleContext {
public GraphContext graph() {
return getRuleContext(GraphContext.class,0);
}
public DeleteClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_deleteClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterDeleteClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitDeleteClause(this);
}
}
public final DeleteClauseContext deleteClause() throws RecognitionException {
DeleteClauseContext _localctx = new DeleteClauseContext(_ctx, getState());
enterRule(_localctx, 78, RULE_deleteClause);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(533);
_la = _input.LA(1);
if ( !(_la==T__41 || _la==T__42) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(534);
match(T__8);
setState(535);
graph();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class JavaQualifiedNameContext extends ParserRuleContext {
public List JAVA_IDENTIFIER() { return getTokens(PearlParser.JAVA_IDENTIFIER); }
public TerminalNode JAVA_IDENTIFIER(int i) {
return getToken(PearlParser.JAVA_IDENTIFIER, i);
}
public JavaQualifiedNameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_javaQualifiedName; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterJavaQualifiedName(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitJavaQualifiedName(this);
}
}
public final JavaQualifiedNameContext javaQualifiedName() throws RecognitionException {
JavaQualifiedNameContext _localctx = new JavaQualifiedNameContext(_ctx, getState());
enterRule(_localctx, 80, RULE_javaQualifiedName);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(537);
match(JAVA_IDENTIFIER);
setState(542);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==T__26) {
{
{
setState(538);
match(T__26);
setState(539);
match(JAVA_IDENTIFIER);
}
}
setState(544);
_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;
}
@SuppressWarnings("CheckReturnValue")
public static class GraphContext extends ParserRuleContext {
public List graphElement() {
return getRuleContexts(GraphElementContext.class);
}
public GraphElementContext graphElement(int i) {
return getRuleContext(GraphElementContext.class,i);
}
public GraphContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_graph; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterGraph(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitGraph(this);
}
}
public final GraphContext graph() throws RecognitionException {
GraphContext _localctx = new GraphContext(_ctx, getState());
enterRule(_localctx, 82, RULE_graph);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(545);
match(T__4);
setState(547);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(546);
graphElement();
}
}
setState(549);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( (((_la - 44)) & ~0x3f) == 0 && ((1L << (_la - 44)) & 1140326403L) != 0 );
setState(551);
match(T__5);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class GraphElementContext extends ParserRuleContext {
public OptionalGraphElementContext optionalGraphElement() {
return getRuleContext(OptionalGraphElementContext.class,0);
}
public GraphTripleContext graphTriple() {
return getRuleContext(GraphTripleContext.class,0);
}
public List annotation() {
return getRuleContexts(AnnotationContext.class);
}
public AnnotationContext annotation(int i) {
return getRuleContext(AnnotationContext.class,i);
}
public GraphElementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_graphElement; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterGraphElement(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitGraphElement(this);
}
}
public final GraphElementContext graphElement() throws RecognitionException {
GraphElementContext _localctx = new GraphElementContext(_ctx, getState());
enterRule(_localctx, 84, RULE_graphElement);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(561);
_errHandler.sync(this);
switch (_input.LA(1)) {
case IRIREF:
case VAR1:
case VAR2:
case PNAME_NS:
case PNAME_LN:
case BLANK_NODE_LABEL:
case LANGTAGORANNOTATION:
case REP_PLC:
{
{
setState(556);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==LANGTAGORANNOTATION) {
{
{
setState(553);
annotation();
}
}
setState(558);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(559);
graphTriple();
}
}
break;
case T__43:
case T__44:
{
setState(560);
optionalGraphElement();
}
break;
default:
throw new NoViableAltException(this);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class OptionalGraphElementContext extends ParserRuleContext {
public List graphElement() {
return getRuleContexts(GraphElementContext.class);
}
public GraphElementContext graphElement(int i) {
return getRuleContext(GraphElementContext.class,i);
}
public OptionalGraphElementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_optionalGraphElement; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterOptionalGraphElement(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitOptionalGraphElement(this);
}
}
public final OptionalGraphElementContext optionalGraphElement() throws RecognitionException {
OptionalGraphElementContext _localctx = new OptionalGraphElementContext(_ctx, getState());
enterRule(_localctx, 86, RULE_optionalGraphElement);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(563);
_la = _input.LA(1);
if ( !(_la==T__43 || _la==T__44) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(564);
match(T__4);
setState(566);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(565);
graphElement();
}
}
setState(568);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( (((_la - 44)) & ~0x3f) == 0 && ((1L << (_la - 44)) & 1140326403L) != 0 );
setState(570);
match(T__5);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class GraphTripleContext extends ParserRuleContext {
public GraphSubjectContext graphSubject() {
return getRuleContext(GraphSubjectContext.class,0);
}
public GraphPredicateContext graphPredicate() {
return getRuleContext(GraphPredicateContext.class,0);
}
public GraphObjectContext graphObject() {
return getRuleContext(GraphObjectContext.class,0);
}
public GraphTripleContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_graphTriple; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterGraphTriple(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitGraphTriple(this);
}
}
public final GraphTripleContext graphTriple() throws RecognitionException {
GraphTripleContext _localctx = new GraphTripleContext(_ctx, getState());
enterRule(_localctx, 88, RULE_graphTriple);
try {
enterOuterAlt(_localctx, 1);
{
setState(572);
graphSubject();
setState(573);
graphPredicate();
setState(574);
graphObject();
setState(575);
match(T__26);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class GraphSubjectContext extends ParserRuleContext {
public Token rep_plc;
public VarContext var() {
return getRuleContext(VarContext.class,0);
}
public IriContext iri() {
return getRuleContext(IriContext.class,0);
}
public BlankNodeContext blankNode() {
return getRuleContext(BlankNodeContext.class,0);
}
public PlaceholderContext placeholder() {
return getRuleContext(PlaceholderContext.class,0);
}
public TerminalNode REP_PLC() { return getToken(PearlParser.REP_PLC, 0); }
public GraphSubjectContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_graphSubject; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterGraphSubject(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitGraphSubject(this);
}
}
public final GraphSubjectContext graphSubject() throws RecognitionException {
GraphSubjectContext _localctx = new GraphSubjectContext(_ctx, getState());
enterRule(_localctx, 90, RULE_graphSubject);
try {
setState(582);
_errHandler.sync(this);
switch (_input.LA(1)) {
case VAR1:
enterOuterAlt(_localctx, 1);
{
setState(577);
var();
}
break;
case IRIREF:
case PNAME_NS:
case PNAME_LN:
enterOuterAlt(_localctx, 2);
{
setState(578);
iri();
}
break;
case BLANK_NODE_LABEL:
enterOuterAlt(_localctx, 3);
{
setState(579);
blankNode();
}
break;
case VAR2:
enterOuterAlt(_localctx, 4);
{
setState(580);
placeholder();
}
break;
case REP_PLC:
enterOuterAlt(_localctx, 5);
{
setState(581);
((GraphSubjectContext)_localctx).rep_plc = match(REP_PLC);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class GraphPredicateContext extends ParserRuleContext {
public Token rep_plc;
public VarContext var() {
return getRuleContext(VarContext.class,0);
}
public IriContext iri() {
return getRuleContext(IriContext.class,0);
}
public AbbrContext abbr() {
return getRuleContext(AbbrContext.class,0);
}
public PropPathContext propPath() {
return getRuleContext(PropPathContext.class,0);
}
public PlaceholderContext placeholder() {
return getRuleContext(PlaceholderContext.class,0);
}
public TerminalNode REP_PLC() { return getToken(PearlParser.REP_PLC, 0); }
public GraphPredicateContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_graphPredicate; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterGraphPredicate(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitGraphPredicate(this);
}
}
public final GraphPredicateContext graphPredicate() throws RecognitionException {
GraphPredicateContext _localctx = new GraphPredicateContext(_ctx, getState());
enterRule(_localctx, 92, RULE_graphPredicate);
try {
setState(590);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,65,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(584);
var();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(585);
iri();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(586);
abbr();
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(587);
propPath();
}
break;
case 5:
enterOuterAlt(_localctx, 5);
{
setState(588);
placeholder();
}
break;
case 6:
enterOuterAlt(_localctx, 6);
{
setState(589);
((GraphPredicateContext)_localctx).rep_plc = match(REP_PLC);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class GraphObjectContext extends ParserRuleContext {
public Token rep_plc;
public VarContext var() {
return getRuleContext(VarContext.class,0);
}
public IriContext iri() {
return getRuleContext(IriContext.class,0);
}
public LiteralContext literal() {
return getRuleContext(LiteralContext.class,0);
}
public BlankNodeContext blankNode() {
return getRuleContext(BlankNodeContext.class,0);
}
public PlaceholderContext placeholder() {
return getRuleContext(PlaceholderContext.class,0);
}
public TerminalNode REP_PLC() { return getToken(PearlParser.REP_PLC, 0); }
public GraphObjectContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_graphObject; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterGraphObject(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitGraphObject(this);
}
}
public final GraphObjectContext graphObject() throws RecognitionException {
GraphObjectContext _localctx = new GraphObjectContext(_ctx, getState());
enterRule(_localctx, 94, RULE_graphObject);
try {
setState(598);
_errHandler.sync(this);
switch (_input.LA(1)) {
case VAR1:
enterOuterAlt(_localctx, 1);
{
setState(592);
var();
}
break;
case IRIREF:
case PNAME_NS:
case PNAME_LN:
enterOuterAlt(_localctx, 2);
{
setState(593);
iri();
}
break;
case STRING_LITERAL1:
case STRING_LITERAL2:
enterOuterAlt(_localctx, 3);
{
setState(594);
literal();
}
break;
case BLANK_NODE_LABEL:
enterOuterAlt(_localctx, 4);
{
setState(595);
blankNode();
}
break;
case VAR2:
enterOuterAlt(_localctx, 5);
{
setState(596);
placeholder();
}
break;
case REP_PLC:
enterOuterAlt(_localctx, 6);
{
setState(597);
((GraphObjectContext)_localctx).rep_plc = match(REP_PLC);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PropPathContext extends ParserRuleContext {
public PathAlternativeContext pathAlternative() {
return getRuleContext(PathAlternativeContext.class,0);
}
public PropPathContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_propPath; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterPropPath(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitPropPath(this);
}
}
public final PropPathContext propPath() throws RecognitionException {
PropPathContext _localctx = new PropPathContext(_ctx, getState());
enterRule(_localctx, 96, RULE_propPath);
try {
enterOuterAlt(_localctx, 1);
{
setState(600);
pathAlternative();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PathAlternativeContext extends ParserRuleContext {
public List pathSequence() {
return getRuleContexts(PathSequenceContext.class);
}
public PathSequenceContext pathSequence(int i) {
return getRuleContext(PathSequenceContext.class,i);
}
public PathAlternativeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_pathAlternative; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterPathAlternative(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitPathAlternative(this);
}
}
public final PathAlternativeContext pathAlternative() throws RecognitionException {
PathAlternativeContext _localctx = new PathAlternativeContext(_ctx, getState());
enterRule(_localctx, 98, RULE_pathAlternative);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(602);
pathSequence();
setState(607);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==T__45) {
{
{
setState(603);
match(T__45);
setState(604);
pathSequence();
}
}
setState(609);
_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;
}
@SuppressWarnings("CheckReturnValue")
public static class PathSequenceContext extends ParserRuleContext {
public List pathEltOrInverse() {
return getRuleContexts(PathEltOrInverseContext.class);
}
public PathEltOrInverseContext pathEltOrInverse(int i) {
return getRuleContext(PathEltOrInverseContext.class,i);
}
public PathSequenceContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_pathSequence; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterPathSequence(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitPathSequence(this);
}
}
public final PathSequenceContext pathSequence() throws RecognitionException {
PathSequenceContext _localctx = new PathSequenceContext(_ctx, getState());
enterRule(_localctx, 100, RULE_pathSequence);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(610);
pathEltOrInverse();
setState(615);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==T__36) {
{
{
setState(611);
match(T__36);
setState(612);
pathEltOrInverse();
}
}
setState(617);
_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;
}
@SuppressWarnings("CheckReturnValue")
public static class PathEltContext extends ParserRuleContext {
public PathPrimaryContext pathPrimary() {
return getRuleContext(PathPrimaryContext.class,0);
}
public TerminalNode REGEX_SYMBOL() { return getToken(PearlParser.REGEX_SYMBOL, 0); }
public PathEltContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_pathElt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterPathElt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitPathElt(this);
}
}
public final PathEltContext pathElt() throws RecognitionException {
PathEltContext _localctx = new PathEltContext(_ctx, getState());
enterRule(_localctx, 102, RULE_pathElt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(618);
pathPrimary();
setState(620);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==REGEX_SYMBOL) {
{
setState(619);
match(REGEX_SYMBOL);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PathEltOrInverseContext extends ParserRuleContext {
public PathEltContext pathElt() {
return getRuleContext(PathEltContext.class,0);
}
public PathEltOrInverseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_pathEltOrInverse; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterPathEltOrInverse(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitPathEltOrInverse(this);
}
}
public final PathEltOrInverseContext pathEltOrInverse() throws RecognitionException {
PathEltOrInverseContext _localctx = new PathEltOrInverseContext(_ctx, getState());
enterRule(_localctx, 104, RULE_pathEltOrInverse);
try {
setState(625);
_errHandler.sync(this);
switch (_input.LA(1)) {
case T__6:
case T__47:
case T__48:
case IRIREF:
case PNAME_NS:
case PNAME_LN:
enterOuterAlt(_localctx, 1);
{
setState(622);
pathElt();
}
break;
case T__46:
enterOuterAlt(_localctx, 2);
{
setState(623);
match(T__46);
setState(624);
pathElt();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PathPrimaryContext extends ParserRuleContext {
public IriContext iri() {
return getRuleContext(IriContext.class,0);
}
public PathNegatedPropertySetContext pathNegatedPropertySet() {
return getRuleContext(PathNegatedPropertySetContext.class,0);
}
public PathAlternativeContext pathAlternative() {
return getRuleContext(PathAlternativeContext.class,0);
}
public PathPrimaryContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_pathPrimary; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterPathPrimary(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitPathPrimary(this);
}
}
public final PathPrimaryContext pathPrimary() throws RecognitionException {
PathPrimaryContext _localctx = new PathPrimaryContext(_ctx, getState());
enterRule(_localctx, 106, RULE_pathPrimary);
try {
setState(635);
_errHandler.sync(this);
switch (_input.LA(1)) {
case IRIREF:
case PNAME_NS:
case PNAME_LN:
enterOuterAlt(_localctx, 1);
{
setState(627);
iri();
}
break;
case T__47:
enterOuterAlt(_localctx, 2);
{
setState(628);
match(T__47);
}
break;
case T__48:
enterOuterAlt(_localctx, 3);
{
setState(629);
match(T__48);
setState(630);
pathNegatedPropertySet();
}
break;
case T__6:
enterOuterAlt(_localctx, 4);
{
setState(631);
match(T__6);
setState(632);
pathAlternative();
setState(633);
match(T__7);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PathNegatedPropertySetContext extends ParserRuleContext {
public List pathOneInPropertySet() {
return getRuleContexts(PathOneInPropertySetContext.class);
}
public PathOneInPropertySetContext pathOneInPropertySet(int i) {
return getRuleContext(PathOneInPropertySetContext.class,i);
}
public PathNegatedPropertySetContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_pathNegatedPropertySet; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterPathNegatedPropertySet(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitPathNegatedPropertySet(this);
}
}
public final PathNegatedPropertySetContext pathNegatedPropertySet() throws RecognitionException {
PathNegatedPropertySetContext _localctx = new PathNegatedPropertySetContext(_ctx, getState());
enterRule(_localctx, 108, RULE_pathNegatedPropertySet);
int _la;
try {
setState(649);
_errHandler.sync(this);
switch (_input.LA(1)) {
case T__46:
case T__47:
case IRIREF:
case PNAME_NS:
case PNAME_LN:
enterOuterAlt(_localctx, 1);
{
setState(637);
pathOneInPropertySet();
}
break;
case T__6:
enterOuterAlt(_localctx, 2);
{
setState(638);
match(T__6);
setState(639);
pathOneInPropertySet();
setState(644);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==T__45) {
{
{
setState(640);
match(T__45);
setState(641);
pathOneInPropertySet();
}
}
setState(646);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(647);
match(T__7);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PathOneInPropertySetContext extends ParserRuleContext {
public IriContext iri() {
return getRuleContext(IriContext.class,0);
}
public PathOneInPropertySetContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_pathOneInPropertySet; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterPathOneInPropertySet(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitPathOneInPropertySet(this);
}
}
public final PathOneInPropertySetContext pathOneInPropertySet() throws RecognitionException {
PathOneInPropertySetContext _localctx = new PathOneInPropertySetContext(_ctx, getState());
enterRule(_localctx, 110, RULE_pathOneInPropertySet);
try {
setState(658);
_errHandler.sync(this);
switch (_input.LA(1)) {
case IRIREF:
case PNAME_NS:
case PNAME_LN:
enterOuterAlt(_localctx, 1);
{
setState(651);
iri();
}
break;
case T__47:
enterOuterAlt(_localctx, 2);
{
setState(652);
match(T__47);
}
break;
case T__46:
enterOuterAlt(_localctx, 3);
{
setState(653);
match(T__46);
setState(656);
_errHandler.sync(this);
switch (_input.LA(1)) {
case IRIREF:
case PNAME_NS:
case PNAME_LN:
{
setState(654);
iri();
}
break;
case T__47:
{
setState(655);
match(T__47);
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class VarContext extends ParserRuleContext {
public TerminalNode VAR1() { return getToken(PearlParser.VAR1, 0); }
public VarContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_var; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterVar(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitVar(this);
}
}
public final VarContext var() throws RecognitionException {
VarContext _localctx = new VarContext(_ctx, getState());
enterRule(_localctx, 112, RULE_var);
try {
enterOuterAlt(_localctx, 1);
{
setState(660);
match(VAR1);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PlaceholderContext extends ParserRuleContext {
public Token separator;
public TerminalNode VAR2() { return getToken(PearlParser.VAR2, 0); }
public TerminalNode JAVA_IDENTIFIER() { return getToken(PearlParser.JAVA_IDENTIFIER, 0); }
public PlaceholderContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_placeholder; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterPlaceholder(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitPlaceholder(this);
}
}
public final PlaceholderContext placeholder() throws RecognitionException {
PlaceholderContext _localctx = new PlaceholderContext(_ctx, getState());
enterRule(_localctx, 114, RULE_placeholder);
try {
setState(669);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,76,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(662);
match(VAR2);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(663);
match(VAR2);
setState(664);
((PlaceholderContext)_localctx).separator = match(T__26);
setState(665);
match(JAVA_IDENTIFIER);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(666);
match(VAR2);
setState(667);
((PlaceholderContext)_localctx).separator = match(T__49);
setState(668);
match(JAVA_IDENTIFIER);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class IriContext extends ParserRuleContext {
public TerminalNode IRIREF() { return getToken(PearlParser.IRIREF, 0); }
public PrefixedNameContext prefixedName() {
return getRuleContext(PrefixedNameContext.class,0);
}
public IriContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_iri; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterIri(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitIri(this);
}
}
public final IriContext iri() throws RecognitionException {
IriContext _localctx = new IriContext(_ctx, getState());
enterRule(_localctx, 116, RULE_iri);
try {
setState(673);
_errHandler.sync(this);
switch (_input.LA(1)) {
case IRIREF:
enterOuterAlt(_localctx, 1);
{
setState(671);
match(IRIREF);
}
break;
case PNAME_NS:
case PNAME_LN:
enterOuterAlt(_localctx, 2);
{
setState(672);
prefixedName();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class LiteralContext extends ParserRuleContext {
public StringContext string() {
return getRuleContext(StringContext.class,0);
}
public TerminalNode LANGTAGORANNOTATION() { return getToken(PearlParser.LANGTAGORANNOTATION, 0); }
public IriContext iri() {
return getRuleContext(IriContext.class,0);
}
public LiteralContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_literal; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterLiteral(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitLiteral(this);
}
}
public final LiteralContext literal() throws RecognitionException {
LiteralContext _localctx = new LiteralContext(_ctx, getState());
enterRule(_localctx, 118, RULE_literal);
try {
enterOuterAlt(_localctx, 1);
{
setState(675);
string();
setState(679);
_errHandler.sync(this);
switch (_input.LA(1)) {
case LANGTAGORANNOTATION:
{
setState(676);
match(LANGTAGORANNOTATION);
}
break;
case T__35:
{
{
setState(677);
match(T__35);
setState(678);
iri();
}
}
break;
case T__5:
case T__7:
case T__9:
case T__11:
case T__26:
break;
default:
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class StringContext extends ParserRuleContext {
public TerminalNode STRING_LITERAL1() { return getToken(PearlParser.STRING_LITERAL1, 0); }
public TerminalNode STRING_LITERAL2() { return getToken(PearlParser.STRING_LITERAL2, 0); }
public StringContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_string; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterString(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitString(this);
}
}
public final StringContext string() throws RecognitionException {
StringContext _localctx = new StringContext(_ctx, getState());
enterRule(_localctx, 120, RULE_string);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(681);
_la = _input.LA(1);
if ( !(_la==STRING_LITERAL1 || _la==STRING_LITERAL2) ) {
_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;
}
@SuppressWarnings("CheckReturnValue")
public static class BlankNodeContext extends ParserRuleContext {
public TerminalNode BLANK_NODE_LABEL() { return getToken(PearlParser.BLANK_NODE_LABEL, 0); }
public BlankNodeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_blankNode; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterBlankNode(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitBlankNode(this);
}
}
public final BlankNodeContext blankNode() throws RecognitionException {
BlankNodeContext _localctx = new BlankNodeContext(_ctx, getState());
enterRule(_localctx, 122, RULE_blankNode);
try {
enterOuterAlt(_localctx, 1);
{
setState(683);
match(BLANK_NODE_LABEL);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PrefixedNameContext extends ParserRuleContext {
public Token pn;
public TerminalNode PNAME_LN() { return getToken(PearlParser.PNAME_LN, 0); }
public TerminalNode PNAME_NS() { return getToken(PearlParser.PNAME_NS, 0); }
public PrefixedNameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_prefixedName; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterPrefixedName(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitPrefixedName(this);
}
}
public final PrefixedNameContext prefixedName() throws RecognitionException {
PrefixedNameContext _localctx = new PrefixedNameContext(_ctx, getState());
enterRule(_localctx, 124, RULE_prefixedName);
try {
setState(687);
_errHandler.sync(this);
switch (_input.LA(1)) {
case PNAME_LN:
enterOuterAlt(_localctx, 1);
{
setState(685);
match(PNAME_LN);
}
break;
case PNAME_NS:
enterOuterAlt(_localctx, 2);
{
setState(686);
((PrefixedNameContext)_localctx).pn = match(PNAME_NS);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class AbbrContext extends ParserRuleContext {
public AbbrContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_abbr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterAbbr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitAbbr(this);
}
}
public final AbbrContext abbr() throws RecognitionException {
AbbrContext _localctx = new AbbrContext(_ctx, getState());
enterRule(_localctx, 126, RULE_abbr);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(689);
_la = _input.LA(1);
if ( !(_la==T__47 || _la==T__50) ) {
_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;
}
@SuppressWarnings("CheckReturnValue")
public static class WhereClauseContext extends ParserRuleContext {
public GraphContext graph() {
return getRuleContext(GraphContext.class,0);
}
public WhereClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_whereClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterWhereClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitWhereClause(this);
}
}
public final WhereClauseContext whereClause() throws RecognitionException {
WhereClauseContext _localctx = new WhereClauseContext(_ctx, getState());
enterRule(_localctx, 128, RULE_whereClause);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(691);
_la = _input.LA(1);
if ( !(_la==T__51 || _la==T__52) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(692);
match(T__8);
setState(693);
graph();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class RegexContext extends ParserRuleContext {
public RuleIdContext ruleId() {
return getRuleContext(RuleIdContext.class,0);
}
public RegexPatternContext regexPattern() {
return getRuleContext(RegexPatternContext.class,0);
}
public GraphClauseContext graphClause() {
return getRuleContext(GraphClauseContext.class,0);
}
public RegexContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_regex; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterRegex(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitRegex(this);
}
}
public final RegexContext regex() throws RecognitionException {
RegexContext _localctx = new RegexContext(_ctx, getState());
enterRule(_localctx, 130, RULE_regex);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(695);
_la = _input.LA(1);
if ( !(_la==T__53 || _la==T__54) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(696);
ruleId();
setState(697);
regexPattern();
setState(698);
match(T__55);
setState(699);
graphClause();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class RegexPatternContext extends ParserRuleContext {
public RegexWithOrContext regexWithOr() {
return getRuleContext(RegexWithOrContext.class,0);
}
public RegexPatternContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_regexPattern; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterRegexPattern(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitRegexPattern(this);
}
}
public final RegexPatternContext regexPattern() throws RecognitionException {
RegexPatternContext _localctx = new RegexPatternContext(_ctx, getState());
enterRule(_localctx, 132, RULE_regexPattern);
try {
enterOuterAlt(_localctx, 1);
{
setState(701);
regexWithOr();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class RegexWithOrContext extends ParserRuleContext {
public List regexSequenceElement() {
return getRuleContexts(RegexSequenceElementContext.class);
}
public RegexSequenceElementContext regexSequenceElement(int i) {
return getRuleContext(RegexSequenceElementContext.class,i);
}
public RegexWithOrContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_regexWithOr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterRegexWithOr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitRegexWithOr(this);
}
}
public final RegexWithOrContext regexWithOr() throws RecognitionException {
RegexWithOrContext _localctx = new RegexWithOrContext(_ctx, getState());
enterRule(_localctx, 134, RULE_regexWithOr);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(703);
regexSequenceElement();
setState(708);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==T__45) {
{
{
setState(704);
match(T__45);
setState(705);
regexSequenceElement();
}
}
setState(710);
_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;
}
@SuppressWarnings("CheckReturnValue")
public static class RegexSequenceElementContext extends ParserRuleContext {
public List regexBaseElementWithSymbol() {
return getRuleContexts(RegexBaseElementWithSymbolContext.class);
}
public RegexBaseElementWithSymbolContext regexBaseElementWithSymbol(int i) {
return getRuleContext(RegexBaseElementWithSymbolContext.class,i);
}
public RegexSequenceElementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_regexSequenceElement; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterRegexSequenceElement(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitRegexSequenceElement(this);
}
}
public final RegexSequenceElementContext regexSequenceElement() throws RecognitionException {
RegexSequenceElementContext _localctx = new RegexSequenceElementContext(_ctx, getState());
enterRule(_localctx, 136, RULE_regexSequenceElement);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(712);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(711);
regexBaseElementWithSymbol();
}
}
setState(714);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==T__6 || _la==T__24 );
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class RegexBaseElementWithSymbolContext extends ParserRuleContext {
public RegexBaseElementContext regexBaseElement() {
return getRuleContext(RegexBaseElementContext.class,0);
}
public TerminalNode REGEX_SYMBOL() { return getToken(PearlParser.REGEX_SYMBOL, 0); }
public RegexBaseElementWithSymbolContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_regexBaseElementWithSymbol; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterRegexBaseElementWithSymbol(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitRegexBaseElementWithSymbol(this);
}
}
public final RegexBaseElementWithSymbolContext regexBaseElementWithSymbol() throws RecognitionException {
RegexBaseElementWithSymbolContext _localctx = new RegexBaseElementWithSymbolContext(_ctx, getState());
enterRule(_localctx, 138, RULE_regexBaseElementWithSymbol);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(716);
regexBaseElement();
setState(718);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==REGEX_SYMBOL) {
{
setState(717);
match(REGEX_SYMBOL);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class RegexBaseElementContext extends ParserRuleContext {
public Token maxDist;
public Token regexRuleId;
public Token internalId;
public List JAVA_IDENTIFIER() { return getTokens(PearlParser.JAVA_IDENTIFIER); }
public TerminalNode JAVA_IDENTIFIER(int i) {
return getToken(PearlParser.JAVA_IDENTIFIER, i);
}
public TerminalNode INTEGER() { return getToken(PearlParser.INTEGER, 0); }
public RegexWithOrContext regexWithOr() {
return getRuleContext(RegexWithOrContext.class,0);
}
public RegexBaseElementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_regexBaseElement; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).enterRegexBaseElement(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof PearlListener ) ((PearlListener)listener).exitRegexBaseElement(this);
}
}
public final RegexBaseElementContext regexBaseElement() throws RecognitionException {
RegexBaseElementContext _localctx = new RegexBaseElementContext(_ctx, getState());
enterRule(_localctx, 140, RULE_regexBaseElement);
int _la;
try {
setState(732);
_errHandler.sync(this);
switch (_input.LA(1)) {
case T__24:
enterOuterAlt(_localctx, 1);
{
setState(720);
match(T__24);
setState(722);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==INTEGER) {
{
setState(721);
((RegexBaseElementContext)_localctx).maxDist = match(INTEGER);
}
}
setState(724);
((RegexBaseElementContext)_localctx).regexRuleId = match(JAVA_IDENTIFIER);
setState(725);
_la = _input.LA(1);
if ( !(_la==T__27 || _la==T__28) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(726);
((RegexBaseElementContext)_localctx).internalId = match(JAVA_IDENTIFIER);
setState(727);
match(T__25);
}
break;
case T__6:
enterOuterAlt(_localctx, 2);
{
setState(728);
match(T__6);
setState(729);
regexWithOr();
setState(730);
match(T__7);
}
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 final String _serializedATN =
"\u0004\u0001M\u02df\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001\u0002"+
"\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004\u0007\u0004\u0002"+
"\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007\u0007\u0007\u0002"+
"\b\u0007\b\u0002\t\u0007\t\u0002\n\u0007\n\u0002\u000b\u0007\u000b\u0002"+
"\f\u0007\f\u0002\r\u0007\r\u0002\u000e\u0007\u000e\u0002\u000f\u0007\u000f"+
"\u0002\u0010\u0007\u0010\u0002\u0011\u0007\u0011\u0002\u0012\u0007\u0012"+
"\u0002\u0013\u0007\u0013\u0002\u0014\u0007\u0014\u0002\u0015\u0007\u0015"+
"\u0002\u0016\u0007\u0016\u0002\u0017\u0007\u0017\u0002\u0018\u0007\u0018"+
"\u0002\u0019\u0007\u0019\u0002\u001a\u0007\u001a\u0002\u001b\u0007\u001b"+
"\u0002\u001c\u0007\u001c\u0002\u001d\u0007\u001d\u0002\u001e\u0007\u001e"+
"\u0002\u001f\u0007\u001f\u0002 \u0007 \u0002!\u0007!\u0002\"\u0007\"\u0002"+
"#\u0007#\u0002$\u0007$\u0002%\u0007%\u0002&\u0007&\u0002\'\u0007\'\u0002"+
"(\u0007(\u0002)\u0007)\u0002*\u0007*\u0002+\u0007+\u0002,\u0007,\u0002"+
"-\u0007-\u0002.\u0007.\u0002/\u0007/\u00020\u00070\u00021\u00071\u0002"+
"2\u00072\u00023\u00073\u00024\u00074\u00025\u00075\u00026\u00076\u0002"+
"7\u00077\u00028\u00078\u00029\u00079\u0002:\u0007:\u0002;\u0007;\u0002"+
"<\u0007<\u0002=\u0007=\u0002>\u0007>\u0002?\u0007?\u0002@\u0007@\u0002"+
"A\u0007A\u0002B\u0007B\u0002C\u0007C\u0002D\u0007D\u0002E\u0007E\u0002"+
"F\u0007F\u0001\u0000\u0001\u0000\u0003\u0000\u0091\b\u0000\u0001\u0000"+
"\u0001\u0000\u0005\u0000\u0095\b\u0000\n\u0000\f\u0000\u0098\t\u0000\u0001"+
"\u0001\u0005\u0001\u009b\b\u0001\n\u0001\f\u0001\u009e\t\u0001\u0001\u0002"+
"\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0003\u0004\u0003\u00a5\b\u0003"+
"\u000b\u0003\f\u0003\u00a6\u0001\u0004\u0005\u0004\u00aa\b\u0004\n\u0004"+
"\f\u0004\u00ad\t\u0004\u0001\u0004\u0001\u0004\u0001\u0004\u0001\u0004"+
"\u0005\u0004\u00b3\b\u0004\n\u0004\f\u0004\u00b6\t\u0004\u0001\u0004\u0003"+
"\u0004\u00b9\b\u0004\u0001\u0005\u0001\u0005\u0001\u0005\u0001\u0005\u0001"+
"\u0005\u0003\u0005\u00c0\b\u0005\u0001\u0006\u0001\u0006\u0001\u0006\u0001"+
"\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0005\u0006\u00ca"+
"\b\u0006\n\u0006\f\u0006\u00cd\t\u0006\u0003\u0006\u00cf\b\u0006\u0001"+
"\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0005\u0007\u00d6"+
"\b\u0007\n\u0007\f\u0007\u00d9\t\u0007\u0001\u0007\u0001\u0007\u0003\u0007"+
"\u00dd\b\u0007\u0001\b\u0001\b\u0001\b\u0001\b\u0001\b\u0001\b\u0003\b"+
"\u00e5\b\b\u0001\t\u0001\t\u0001\t\u0001\t\u0001\t\u0001\t\u0003\t\u00ed"+
"\b\t\u0001\t\u0001\t\u0001\n\u0001\n\u0003\n\u00f3\b\n\u0001\u000b\u0001"+
"\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0003\u000b\u00fa\b\u000b\u0001"+
"\f\u0005\f\u00fd\b\f\n\f\f\f\u0100\t\f\u0001\f\u0001\f\u0001\f\u0003\f"+
"\u0105\b\f\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0005"+
"\r\u010e\b\r\n\r\f\r\u0111\t\r\u0003\r\u0113\b\r\u0001\r\u0001\r\u0003"+
"\r\u0117\b\r\u0001\r\u0003\r\u011a\b\r\u0001\r\u0003\r\u011d\b\r\u0001"+
"\r\u0001\r\u0003\r\u0121\b\r\u0001\r\u0003\r\u0124\b\r\u0001\r\u0003\r"+
"\u0127\b\r\u0001\r\u0001\r\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e"+
"\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000f\u0001\u000f"+
"\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0003\u000f\u0139\b\u000f"+
"\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u0010\u0001\u0010\u0001\u0011"+
"\u0001\u0011\u0001\u0011\u0001\u0011\u0004\u0011\u0144\b\u0011\u000b\u0011"+
"\f\u0011\u0145\u0001\u0011\u0001\u0011\u0001\u0012\u0001\u0012\u0001\u0012"+
"\u0001\u0012\u0001\u0012\u0001\u0012\u0005\u0012\u0150\b\u0012\n\u0012"+
"\f\u0012\u0153\t\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0013"+
"\u0001\u0013\u0001\u0013\u0001\u0013\u0003\u0013\u015c\b\u0013\u0001\u0013"+
"\u0001\u0013\u0001\u0013\u0003\u0013\u0161\b\u0013\u0005\u0013\u0163\b"+
"\u0013\n\u0013\f\u0013\u0166\t\u0013\u0001\u0013\u0001\u0013\u0001\u0013"+
"\u0001\u0013\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0014\u0003\u0014"+
"\u0170\b\u0014\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0004\u0015"+
"\u0176\b\u0015\u000b\u0015\f\u0015\u0177\u0001\u0015\u0001\u0015\u0001"+
"\u0016\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0017\u0001\u0017\u0001"+
"\u0018\u0001\u0018\u0001\u0018\u0001\u0018\u0004\u0018\u0186\b\u0018\u000b"+
"\u0018\f\u0018\u0187\u0001\u0018\u0001\u0018\u0001\u0019\u0005\u0019\u018d"+
"\b\u0019\n\u0019\f\u0019\u0190\t\u0019\u0001\u0019\u0001\u0019\u0001\u0019"+
"\u0001\u0019\u0003\u0019\u0196\b\u0019\u0001\u0019\u0003\u0019\u0199\b"+
"\u0019\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0003"+
"\u001a\u01a0\b\u001a\u0001\u001b\u0001\u001b\u0003\u001b\u01a4\b\u001b"+
"\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0003\u001b\u01aa\b\u001b"+
"\u0001\u001b\u0001\u001b\u0001\u001b\u0003\u001b\u01af\b\u001b\u0001\u001b"+
"\u0001\u001b\u0003\u001b\u01b3\b\u001b\u0001\u001b\u0001\u001b\u0003\u001b"+
"\u01b7\b\u001b\u0003\u001b\u01b9\b\u001b\u0001\u001c\u0001\u001c\u0001"+
"\u001c\u0001\u001c\u0005\u001c\u01bf\b\u001c\n\u001c\f\u001c\u01c2\t\u001c"+
"\u0001\u001c\u0001\u001c\u0001\u001d\u0001\u001d\u0003\u001d\u01c8\b\u001d"+
"\u0001\u001d\u0001\u001d\u0003\u001d\u01cc\b\u001d\u0003\u001d\u01ce\b"+
"\u001d\u0001\u001e\u0001\u001e\u0001\u001e\u0001\u001e\u0005\u001e\u01d4"+
"\b\u001e\n\u001e\f\u001e\u01d7\t\u001e\u0003\u001e\u01d9\b\u001e\u0001"+
"\u001e\u0001\u001e\u0001\u001f\u0001\u001f\u0001\u001f\u0001\u001f\u0003"+
"\u001f\u01e1\b\u001f\u0001 \u0001 \u0001!\u0001!\u0001!\u0001!\u0005!"+
"\u01e9\b!\n!\f!\u01ec\t!\u0003!\u01ee\b!\u0001!\u0001!\u0001\"\u0001\""+
"\u0001\"\u0001\"\u0001\"\u0001\"\u0001\"\u0001\"\u0001\"\u0003\"\u01fb"+
"\b\"\u0001#\u0001#\u0001#\u0005#\u0200\b#\n#\f#\u0203\t#\u0001#\u0003"+
"#\u0206\b#\u0001$\u0001$\u0001$\u0001$\u0003$\u020c\b$\u0001%\u0001%\u0001"+
"%\u0001%\u0001&\u0001&\u0001&\u0001&\u0001\'\u0001\'\u0001\'\u0001\'\u0001"+
"(\u0001(\u0001(\u0005(\u021d\b(\n(\f(\u0220\t(\u0001)\u0001)\u0004)\u0224"+
"\b)\u000b)\f)\u0225\u0001)\u0001)\u0001*\u0005*\u022b\b*\n*\f*\u022e\t"+
"*\u0001*\u0001*\u0003*\u0232\b*\u0001+\u0001+\u0001+\u0004+\u0237\b+\u000b"+
"+\f+\u0238\u0001+\u0001+\u0001,\u0001,\u0001,\u0001,\u0001,\u0001-\u0001"+
"-\u0001-\u0001-\u0001-\u0003-\u0247\b-\u0001.\u0001.\u0001.\u0001.\u0001"+
".\u0001.\u0003.\u024f\b.\u0001/\u0001/\u0001/\u0001/\u0001/\u0001/\u0003"+
"/\u0257\b/\u00010\u00010\u00011\u00011\u00011\u00051\u025e\b1\n1\f1\u0261"+
"\t1\u00012\u00012\u00012\u00052\u0266\b2\n2\f2\u0269\t2\u00013\u00013"+
"\u00033\u026d\b3\u00014\u00014\u00014\u00034\u0272\b4\u00015\u00015\u0001"+
"5\u00015\u00015\u00015\u00015\u00015\u00035\u027c\b5\u00016\u00016\u0001"+
"6\u00016\u00016\u00056\u0283\b6\n6\f6\u0286\t6\u00016\u00016\u00036\u028a"+
"\b6\u00017\u00017\u00017\u00017\u00017\u00037\u0291\b7\u00037\u0293\b"+
"7\u00018\u00018\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u0003"+
"9\u029e\b9\u0001:\u0001:\u0003:\u02a2\b:\u0001;\u0001;\u0001;\u0001;\u0003"+
";\u02a8\b;\u0001<\u0001<\u0001=\u0001=\u0001>\u0001>\u0003>\u02b0\b>\u0001"+
"?\u0001?\u0001@\u0001@\u0001@\u0001@\u0001A\u0001A\u0001A\u0001A\u0001"+
"A\u0001A\u0001B\u0001B\u0001C\u0001C\u0001C\u0005C\u02c3\bC\nC\fC\u02c6"+
"\tC\u0001D\u0004D\u02c9\bD\u000bD\fD\u02ca\u0001E\u0001E\u0003E\u02cf"+
"\bE\u0001F\u0001F\u0003F\u02d3\bF\u0001F\u0001F\u0001F\u0001F\u0001F\u0001"+
"F\u0001F\u0001F\u0003F\u02dd\bF\u0001F\u0000\u0000G\u0000\u0002\u0004"+
"\u0006\b\n\f\u000e\u0010\u0012\u0014\u0016\u0018\u001a\u001c\u001e \""+
"$&(*,.02468:<>@BDFHJLNPRTVXZ\\^`bdfhjlnprtvxz|~\u0080\u0082\u0084\u0086"+
"\u0088\u008a\u008c\u0000\u0011\u0001\u0000\u0001\u0002\u0001\u0000\u0003"+
"\u0004\u0001\u0000\u000e\u000f\u0001\u0000\u0010\u0012\u0001\u0000\u0014"+
"\u0016\u0001\u0000\u0017\u0018\u0001\u0000\u001c\u001d\u0001\u0000\u001e"+
"\u001f\u0001\u0000 !\u0001\u0000&\'\u0001\u0000()\u0001\u0000*+\u0001"+
"\u0000,-\u0001\u0000GH\u0002\u00000033\u0001\u000045\u0001\u000067\u030b"+
"\u0000\u008e\u0001\u0000\u0000\u0000\u0002\u009c\u0001\u0000\u0000\u0000"+
"\u0004\u009f\u0001\u0000\u0000\u0000\u0006\u00a4\u0001\u0000\u0000\u0000"+
"\b\u00ab\u0001\u0000\u0000\u0000\n\u00ba\u0001\u0000\u0000\u0000\f\u00ce"+
"\u0001\u0000\u0000\u0000\u000e\u00dc\u0001\u0000\u0000\u0000\u0010\u00e4"+
"\u0001\u0000\u0000\u0000\u0012\u00e6\u0001\u0000\u0000\u0000\u0014\u00f0"+
"\u0001\u0000\u0000\u0000\u0016\u00f9\u0001\u0000\u0000\u0000\u0018\u00fe"+
"\u0001\u0000\u0000\u0000\u001a\u0106\u0001\u0000\u0000\u0000\u001c\u012a"+
"\u0001\u0000\u0000\u0000\u001e\u0132\u0001\u0000\u0000\u0000 \u013d\u0001"+
"\u0000\u0000\u0000\"\u013f\u0001\u0000\u0000\u0000$\u0149\u0001\u0000"+
"\u0000\u0000&\u0157\u0001\u0000\u0000\u0000(\u016b\u0001\u0000\u0000\u0000"+
"*\u0171\u0001\u0000\u0000\u0000,\u017b\u0001\u0000\u0000\u0000.\u017f"+
"\u0001\u0000\u0000\u00000\u0181\u0001\u0000\u0000\u00002\u018e\u0001\u0000"+
"\u0000\u00004\u019a\u0001\u0000\u0000\u00006\u01b8\u0001\u0000\u0000\u0000"+
"8\u01ba\u0001\u0000\u0000\u0000:\u01cd\u0001\u0000\u0000\u0000<\u01cf"+
"\u0001\u0000\u0000\u0000>\u01e0\u0001\u0000\u0000\u0000@\u01e2\u0001\u0000"+
"\u0000\u0000B\u01e4\u0001\u0000\u0000\u0000D\u01fa\u0001\u0000\u0000\u0000"+
"F\u0205\u0001\u0000\u0000\u0000H\u0207\u0001\u0000\u0000\u0000J\u020d"+
"\u0001\u0000\u0000\u0000L\u0211\u0001\u0000\u0000\u0000N\u0215\u0001\u0000"+
"\u0000\u0000P\u0219\u0001\u0000\u0000\u0000R\u0221\u0001\u0000\u0000\u0000"+
"T\u0231\u0001\u0000\u0000\u0000V\u0233\u0001\u0000\u0000\u0000X\u023c"+
"\u0001\u0000\u0000\u0000Z\u0246\u0001\u0000\u0000\u0000\\\u024e\u0001"+
"\u0000\u0000\u0000^\u0256\u0001\u0000\u0000\u0000`\u0258\u0001\u0000\u0000"+
"\u0000b\u025a\u0001\u0000\u0000\u0000d\u0262\u0001\u0000\u0000\u0000f"+
"\u026a\u0001\u0000\u0000\u0000h\u0271\u0001\u0000\u0000\u0000j\u027b\u0001"+
"\u0000\u0000\u0000l\u0289\u0001\u0000\u0000\u0000n\u0292\u0001\u0000\u0000"+
"\u0000p\u0294\u0001\u0000\u0000\u0000r\u029d\u0001\u0000\u0000\u0000t"+
"\u02a1\u0001\u0000\u0000\u0000v\u02a3\u0001\u0000\u0000\u0000x\u02a9\u0001"+
"\u0000\u0000\u0000z\u02ab\u0001\u0000\u0000\u0000|\u02af\u0001\u0000\u0000"+
"\u0000~\u02b1\u0001\u0000\u0000\u0000\u0080\u02b3\u0001\u0000\u0000\u0000"+
"\u0082\u02b7\u0001\u0000\u0000\u0000\u0084\u02bd\u0001\u0000\u0000\u0000"+
"\u0086\u02bf\u0001\u0000\u0000\u0000\u0088\u02c8\u0001\u0000\u0000\u0000"+
"\u008a\u02cc\u0001\u0000\u0000\u0000\u008c\u02dc\u0001\u0000\u0000\u0000"+
"\u008e\u0090\u0003\u0002\u0001\u0000\u008f\u0091\u0003\u0006\u0003\u0000"+
"\u0090\u008f\u0001\u0000\u0000\u0000\u0090\u0091\u0001\u0000\u0000\u0000"+
"\u0091\u0096\u0001\u0000\u0000\u0000\u0092\u0095\u0003\u0018\f\u0000\u0093"+
"\u0095\u0003\u0082A\u0000\u0094\u0092\u0001\u0000\u0000\u0000\u0094\u0093"+
"\u0001\u0000\u0000\u0000\u0095\u0098\u0001\u0000\u0000\u0000\u0096\u0094"+
"\u0001\u0000\u0000\u0000\u0096\u0097\u0001\u0000\u0000\u0000\u0097\u0001"+
"\u0001\u0000\u0000\u0000\u0098\u0096\u0001\u0000\u0000\u0000\u0099\u009b"+
"\u0003\u0004\u0002\u0000\u009a\u0099\u0001\u0000\u0000\u0000\u009b\u009e"+
"\u0001\u0000\u0000\u0000\u009c\u009a\u0001\u0000\u0000\u0000\u009c\u009d"+
"\u0001\u0000\u0000\u0000\u009d\u0003\u0001\u0000\u0000\u0000\u009e\u009c"+
"\u0001\u0000\u0000\u0000\u009f\u00a0\u0007\u0000\u0000\u0000\u00a0\u00a1"+
"\u0005B\u0000\u0000\u00a1\u00a2\u0005?\u0000\u0000\u00a2\u0005\u0001\u0000"+
"\u0000\u0000\u00a3\u00a5\u0003\b\u0004\u0000\u00a4\u00a3\u0001\u0000\u0000"+
"\u0000\u00a5\u00a6\u0001\u0000\u0000\u0000\u00a6\u00a4\u0001\u0000\u0000"+
"\u0000\u00a6\u00a7\u0001\u0000\u0000\u0000\u00a7\u0007\u0001\u0000\u0000"+
"\u0000\u00a8\u00aa\u0003\n\u0005\u0000\u00a9\u00a8\u0001\u0000\u0000\u0000"+
"\u00aa\u00ad\u0001\u0000\u0000\u0000\u00ab\u00a9\u0001\u0000\u0000\u0000"+
"\u00ab\u00ac\u0001\u0000\u0000\u0000\u00ac\u00ae\u0001\u0000\u0000\u0000"+
"\u00ad\u00ab\u0001\u0000\u0000\u0000\u00ae\u00af\u0007\u0001\u0000\u0000"+
"\u00af\u00b8\u0005K\u0000\u0000\u00b0\u00b4\u0005\u0005\u0000\u0000\u00b1"+
"\u00b3\u0003\u0012\t\u0000\u00b2\u00b1\u0001\u0000\u0000\u0000\u00b3\u00b6"+
"\u0001\u0000\u0000\u0000\u00b4\u00b2\u0001\u0000\u0000\u0000\u00b4\u00b5"+
"\u0001\u0000\u0000\u0000\u00b5\u00b7\u0001\u0000\u0000\u0000\u00b6\u00b4"+
"\u0001\u0000\u0000\u0000\u00b7\u00b9\u0005\u0006\u0000\u0000\u00b8\u00b0"+
"\u0001\u0000\u0000\u0000\u00b8\u00b9\u0001\u0000\u0000\u0000\u00b9\t\u0001"+
"\u0000\u0000\u0000\u00ba\u00bf\u0005E\u0000\u0000\u00bb\u00bc\u0005\u0007"+
"\u0000\u0000\u00bc\u00bd\u0003\f\u0006\u0000\u00bd\u00be\u0005\b\u0000"+
"\u0000\u00be\u00c0\u0001\u0000\u0000\u0000\u00bf\u00bb\u0001\u0000\u0000"+
"\u0000\u00bf\u00c0\u0001\u0000\u0000\u0000\u00c0\u000b\u0001\u0000\u0000"+
"\u0000\u00c1\u00cf\u0003\u000e\u0007\u0000\u00c2\u00c3\u0005K\u0000\u0000"+
"\u00c3\u00c4\u0005\t\u0000\u0000\u00c4\u00cb\u0003\u000e\u0007\u0000\u00c5"+
"\u00c6\u0005\n\u0000\u0000\u00c6\u00c7\u0005K\u0000\u0000\u00c7\u00c8"+
"\u0005\t\u0000\u0000\u00c8\u00ca\u0003\u000e\u0007\u0000\u00c9\u00c5\u0001"+
"\u0000\u0000\u0000\u00ca\u00cd\u0001\u0000\u0000\u0000\u00cb\u00c9\u0001"+
"\u0000\u0000\u0000\u00cb\u00cc\u0001\u0000\u0000\u0000\u00cc\u00cf\u0001"+
"\u0000\u0000\u0000\u00cd\u00cb\u0001\u0000\u0000\u0000\u00ce\u00c1\u0001"+
"\u0000\u0000\u0000\u00ce\u00c2\u0001\u0000\u0000\u0000\u00cf\r\u0001\u0000"+
"\u0000\u0000\u00d0\u00dd\u0003\u0010\b\u0000\u00d1\u00d2\u0005\u0005\u0000"+
"\u0000\u00d2\u00d7\u0003\u0010\b\u0000\u00d3\u00d4\u0005\n\u0000\u0000"+
"\u00d4\u00d6\u0003\u0010\b\u0000\u00d5\u00d3\u0001\u0000\u0000\u0000\u00d6"+
"\u00d9\u0001\u0000\u0000\u0000\u00d7\u00d5\u0001\u0000\u0000\u0000\u00d7"+
"\u00d8\u0001\u0000\u0000\u0000\u00d8\u00da\u0001\u0000\u0000\u0000\u00d9"+
"\u00d7\u0001\u0000\u0000\u0000\u00da\u00db\u0005\u0006\u0000\u0000\u00db"+
"\u00dd\u0001\u0000\u0000\u0000\u00dc\u00d0\u0001\u0000\u0000\u0000\u00dc"+
"\u00d1\u0001\u0000\u0000\u0000\u00dd\u000f\u0001\u0000\u0000\u0000\u00de"+
"\u00e5\u0005K\u0000\u0000\u00df\u00e5\u0005L\u0000\u0000\u00e0\u00e5\u0005"+
"M\u0000\u0000\u00e1\u00e5\u0003r9\u0000\u00e2\u00e5\u0003t:\u0000\u00e3"+
"\u00e5\u0003v;\u0000\u00e4\u00de\u0001\u0000\u0000\u0000\u00e4\u00df\u0001"+
"\u0000\u0000\u0000\u00e4\u00e0\u0001\u0000\u0000\u0000\u00e4\u00e1\u0001"+
"\u0000\u0000\u0000\u00e4\u00e2\u0001\u0000\u0000\u0000\u00e4\u00e3\u0001"+
"\u0000\u0000\u0000\u00e5\u0011\u0001\u0000\u0000\u0000\u00e6\u00e7\u0003"+
"\u0014\n\u0000\u00e7\u00e8\u0005K\u0000\u0000\u00e8\u00e9\u0005\u0007"+
"\u0000\u0000\u00e9\u00ec\u0005\b\u0000\u0000\u00ea\u00eb\u0005\u000b\u0000"+
"\u0000\u00eb\u00ed\u0003\u0016\u000b\u0000\u00ec\u00ea\u0001\u0000\u0000"+
"\u0000\u00ec\u00ed\u0001\u0000\u0000\u0000\u00ed\u00ee\u0001\u0000\u0000"+
"\u0000\u00ee\u00ef\u0005\f\u0000\u0000\u00ef\u0013\u0001\u0000\u0000\u0000"+
"\u00f0\u00f2\u0005K\u0000\u0000\u00f1\u00f3\u0005\r\u0000\u0000\u00f2"+
"\u00f1\u0001\u0000\u0000\u0000\u00f2\u00f3\u0001\u0000\u0000\u0000\u00f3"+
"\u0015\u0001\u0000\u0000\u0000\u00f4\u00fa\u0005K\u0000\u0000\u00f5\u00fa"+
"\u0005L\u0000\u0000\u00f6\u00fa\u0005M\u0000\u0000\u00f7\u00fa\u0003t"+
":\u0000\u00f8\u00fa\u0003v;\u0000\u00f9\u00f4\u0001\u0000\u0000\u0000"+
"\u00f9\u00f5\u0001\u0000\u0000\u0000\u00f9\u00f6\u0001\u0000\u0000\u0000"+
"\u00f9\u00f7\u0001\u0000\u0000\u0000\u00f9\u00f8\u0001\u0000\u0000\u0000"+
"\u00fa\u0017\u0001\u0000\u0000\u0000\u00fb\u00fd\u00034\u001a\u0000\u00fc"+
"\u00fb\u0001\u0000\u0000\u0000\u00fd\u0100\u0001\u0000\u0000\u0000\u00fe"+
"\u00fc\u0001\u0000\u0000\u0000\u00fe\u00ff\u0001\u0000\u0000\u0000\u00ff"+
"\u0104\u0001\u0000\u0000\u0000\u0100\u00fe\u0001\u0000\u0000\u0000\u0101"+
"\u0105\u0003\u001a\r\u0000\u0102\u0105\u0003\u001c\u000e\u0000\u0103\u0105"+
"\u0003\u001e\u000f\u0000\u0104\u0101\u0001\u0000\u0000\u0000\u0104\u0102"+
"\u0001\u0000\u0000\u0000\u0104\u0103\u0001\u0000\u0000\u0000\u0105\u0019"+
"\u0001\u0000\u0000\u0000\u0106\u0107\u0007\u0002\u0000\u0000\u0107\u0108"+
"\u0003 \u0010\u0000\u0108\u0112\u0003.\u0017\u0000\u0109\u010a\u0007\u0003"+
"\u0000\u0000\u010a\u010f\u0003&\u0013\u0000\u010b\u010c\u0005\n\u0000"+
"\u0000\u010c\u010e\u0003&\u0013\u0000\u010d\u010b\u0001\u0000\u0000\u0000"+
"\u010e\u0111\u0001\u0000\u0000\u0000\u010f\u010d\u0001\u0000\u0000\u0000"+
"\u010f\u0110\u0001\u0000\u0000\u0000\u0110\u0113\u0001\u0000\u0000\u0000"+
"\u0111\u010f\u0001\u0000\u0000\u0000\u0112\u0109\u0001\u0000\u0000\u0000"+
"\u0112\u0113\u0001\u0000\u0000\u0000\u0113\u0114\u0001\u0000\u0000\u0000"+
"\u0114\u0116\u0005\u0005\u0000\u0000\u0115\u0117\u0003\"\u0011\u0000\u0116"+
"\u0115\u0001\u0000\u0000\u0000\u0116\u0117\u0001\u0000\u0000\u0000\u0117"+
"\u0119\u0001\u0000\u0000\u0000\u0118\u011a\u0003*\u0015\u0000\u0119\u0118"+
"\u0001\u0000\u0000\u0000\u0119\u011a\u0001\u0000\u0000\u0000\u011a\u011c"+
"\u0001\u0000\u0000\u0000\u011b\u011d\u00030\u0018\u0000\u011c\u011b\u0001"+
"\u0000\u0000\u0000\u011c\u011d\u0001\u0000\u0000\u0000\u011d\u0120\u0001"+
"\u0000\u0000\u0000\u011e\u0121\u0003L&\u0000\u011f\u0121\u0003J%\u0000"+
"\u0120\u011e\u0001\u0000\u0000\u0000\u0120\u011f\u0001\u0000\u0000\u0000"+
"\u0120\u0121\u0001\u0000\u0000\u0000\u0121\u0123\u0001\u0000\u0000\u0000"+
"\u0122\u0124\u0003N\'\u0000\u0123\u0122\u0001\u0000\u0000\u0000\u0123"+
"\u0124\u0001\u0000\u0000\u0000\u0124\u0126\u0001\u0000\u0000\u0000\u0125"+
"\u0127\u0003\u0080@\u0000\u0126\u0125\u0001\u0000\u0000\u0000\u0126\u0127"+
"\u0001\u0000\u0000\u0000\u0127\u0128\u0001\u0000\u0000\u0000\u0128\u0129"+
"\u0005\u0006\u0000\u0000\u0129\u001b\u0001\u0000\u0000\u0000\u012a\u012b"+
"\u0005\u0013\u0000\u0000\u012b\u012c\u0005\u000e\u0000\u0000\u012c\u012d"+
"\u0003 \u0010\u0000\u012d\u012e\u0003.\u0017\u0000\u012e\u012f\u0005\u0005"+
"\u0000\u0000\u012f\u0130\u00030\u0018\u0000\u0130\u0131\u0005\u0006\u0000"+
"\u0000\u0131\u001d\u0001\u0000\u0000\u0000\u0132\u0133\u0007\u0004\u0000"+
"\u0000\u0133\u0134\u0007\u0002\u0000\u0000\u0134\u0135\u0003 \u0010\u0000"+
"\u0135\u0136\u0003.\u0017\u0000\u0136\u0138\u0005\u0005\u0000\u0000\u0137"+
"\u0139\u0003\"\u0011\u0000\u0138\u0137\u0001\u0000\u0000\u0000\u0138\u0139"+
"\u0001\u0000\u0000\u0000\u0139\u013a\u0001\u0000\u0000\u0000\u013a\u013b"+
"\u00030\u0018\u0000\u013b\u013c\u0005\u0006\u0000\u0000\u013c\u001f\u0001"+
"\u0000\u0000\u0000\u013d\u013e\u0003P(\u0000\u013e!\u0001\u0000\u0000"+
"\u0000\u013f\u0140\u0007\u0005\u0000\u0000\u0140\u0141\u0005\t\u0000\u0000"+
"\u0141\u0143\u0005\u0005\u0000\u0000\u0142\u0144\u0003$\u0012\u0000\u0143"+
"\u0142\u0001\u0000\u0000\u0000\u0144\u0145\u0001\u0000\u0000\u0000\u0145"+
"\u0143\u0001\u0000\u0000\u0000\u0145\u0146\u0001\u0000\u0000\u0000\u0146"+
"\u0147\u0001\u0000\u0000\u0000\u0147\u0148\u0005\u0006\u0000\u0000\u0148"+
"#\u0001\u0000\u0000\u0000\u0149\u014a\u0003F#\u0000\u014a\u014b\u0005"+
"I\u0000\u0000\u014b\u014c\u0005\u0019\u0000\u0000\u014c\u0151\u0003x<"+
"\u0000\u014d\u014e\u0005\n\u0000\u0000\u014e\u0150\u0003x<\u0000\u014f"+
"\u014d\u0001\u0000\u0000\u0000\u0150\u0153\u0001\u0000\u0000\u0000\u0151"+
"\u014f\u0001\u0000\u0000\u0000\u0151\u0152\u0001\u0000\u0000\u0000\u0152"+
"\u0154\u0001\u0000\u0000\u0000\u0153\u0151\u0001\u0000\u0000\u0000\u0154"+
"\u0155\u0005\u001a\u0000\u0000\u0155\u0156\u0005\u001b\u0000\u0000\u0156"+
"%\u0001\u0000\u0000\u0000\u0157\u0158\u0005K\u0000\u0000\u0158\u015b\u0005"+
"\u0007\u0000\u0000\u0159\u015c\u0005K\u0000\u0000\u015a\u015c\u0003(\u0014"+
"\u0000\u015b\u0159\u0001\u0000\u0000\u0000\u015b\u015a\u0001\u0000\u0000"+
"\u0000\u015c\u0164\u0001\u0000\u0000\u0000\u015d\u0160\u0005\n\u0000\u0000"+
"\u015e\u0161\u0005K\u0000\u0000\u015f\u0161\u0003(\u0014\u0000\u0160\u015e"+
"\u0001\u0000\u0000\u0000\u0160\u015f\u0001\u0000\u0000\u0000\u0161\u0163"+
"\u0001\u0000\u0000\u0000\u0162\u015d\u0001\u0000\u0000\u0000\u0163\u0166"+
"\u0001\u0000\u0000\u0000\u0164\u0162\u0001\u0000\u0000\u0000\u0164\u0165"+
"\u0001\u0000\u0000\u0000\u0165\u0167\u0001\u0000\u0000\u0000\u0166\u0164"+
"\u0001\u0000\u0000\u0000\u0167\u0168\u0005\b\u0000\u0000\u0168\u0169\u0007"+
"\u0006\u0000\u0000\u0169\u016a\u0005K\u0000\u0000\u016a\'\u0001\u0000"+
"\u0000\u0000\u016b\u016c\u0005K\u0000\u0000\u016c\u016f\u0005\t\u0000"+
"\u0000\u016d\u0170\u0005K\u0000\u0000\u016e\u0170\u0005L\u0000\u0000\u016f"+
"\u016d\u0001\u0000\u0000\u0000\u016f\u016e\u0001\u0000\u0000\u0000\u0170"+
")\u0001\u0000\u0000\u0000\u0171\u0172\u0007\u0007\u0000\u0000\u0172\u0173"+
"\u0005\t\u0000\u0000\u0173\u0175\u0005\u0005\u0000\u0000\u0174\u0176\u0003"+
",\u0016\u0000\u0175\u0174\u0001\u0000\u0000\u0000\u0176\u0177\u0001\u0000"+
"\u0000\u0000\u0177\u0175\u0001\u0000\u0000\u0000\u0177\u0178\u0001\u0000"+
"\u0000\u0000\u0178\u0179\u0001\u0000\u0000\u0000\u0179\u017a\u0005\u0006"+
"\u0000\u0000\u017a+\u0001\u0000\u0000\u0000\u017b\u017c\u0005K\u0000\u0000"+
"\u017c\u017d\u0003F#\u0000\u017d\u017e\u0005K\u0000\u0000\u017e-\u0001"+
"\u0000\u0000\u0000\u017f\u0180\u00059\u0000\u0000\u0180/\u0001\u0000\u0000"+
"\u0000\u0181\u0182\u0007\b\u0000\u0000\u0182\u0183\u0005\t\u0000\u0000"+
"\u0183\u0185\u0005\u0005\u0000\u0000\u0184\u0186\u00032\u0019\u0000\u0185"+
"\u0184\u0001\u0000\u0000\u0000\u0186\u0187\u0001\u0000\u0000\u0000\u0187"+
"\u0185\u0001\u0000\u0000\u0000\u0187\u0188\u0001\u0000\u0000\u0000\u0188"+
"\u0189\u0001\u0000\u0000\u0000\u0189\u018a\u0005\u0006\u0000\u0000\u018a"+
"1\u0001\u0000\u0000\u0000\u018b\u018d\u00034\u001a\u0000\u018c\u018b\u0001"+
"\u0000\u0000\u0000\u018d\u0190\u0001\u0000\u0000\u0000\u018e\u018c\u0001"+
"\u0000\u0000\u0000\u018e\u018f\u0001\u0000\u0000\u0000\u018f\u0191\u0001"+
"\u0000\u0000\u0000\u0190\u018e\u0001\u0000\u0000\u0000\u0191\u0192\u0005"+
"K\u0000\u0000\u0192\u0198\u00036\u001b\u0000\u0193\u0195\u0003F#\u0000"+
"\u0194\u0196\u0005\u001b\u0000\u0000\u0195\u0194\u0001\u0000\u0000\u0000"+
"\u0195\u0196\u0001\u0000\u0000\u0000\u0196\u0199\u0001\u0000\u0000\u0000"+
"\u0197\u0199\u0005\u001b\u0000\u0000\u0198\u0193\u0001\u0000\u0000\u0000"+
"\u0198\u0197\u0001\u0000\u0000\u0000\u01993\u0001\u0000\u0000\u0000\u019a"+
"\u019f\u0005E\u0000\u0000\u019b\u019c\u0005\u0007\u0000\u0000\u019c\u019d"+
"\u0003\f\u0006\u0000\u019d\u019e\u0005\b\u0000\u0000\u019e\u01a0\u0001"+
"\u0000\u0000\u0000\u019f\u019b\u0001\u0000\u0000\u0000\u019f\u01a0\u0001"+
"\u0000\u0000\u0000\u01a05\u0001\u0000\u0000\u0000\u01a1\u01a3\u0005\""+
"\u0000\u0000\u01a2\u01a4\u00038\u001c\u0000\u01a3\u01a2\u0001\u0000\u0000"+
"\u0000\u01a3\u01a4\u0001\u0000\u0000\u0000\u01a4\u01b9\u0001\u0000\u0000"+
"\u0000\u01a5\u01a6\u0005#\u0000\u0000\u01a6\u01a7\u0005$\u0000\u0000\u01a7"+
"\u01a9\u0003t:\u0000\u01a8\u01aa\u00038\u001c\u0000\u01a9\u01a8\u0001"+
"\u0000\u0000\u0000\u01a9\u01aa\u0001\u0000\u0000\u0000\u01aa\u01b9\u0001"+
"\u0000\u0000\u0000\u01ab\u01ac\u0005#\u0000\u0000\u01ac\u01ae\u0005E\u0000"+
"\u0000\u01ad\u01af\u00038\u001c\u0000\u01ae\u01ad\u0001\u0000\u0000\u0000"+
"\u01ae\u01af\u0001\u0000\u0000\u0000\u01af\u01b9\u0001\u0000\u0000\u0000"+
"\u01b0\u01b2\u0005#\u0000\u0000\u01b1\u01b3\u00038\u001c\u0000\u01b2\u01b1"+
"\u0001\u0000\u0000\u0000\u01b2\u01b3\u0001\u0000\u0000\u0000\u01b3\u01b9"+
"\u0001\u0000\u0000\u0000\u01b4\u01b6\u0005J\u0000\u0000\u01b5\u01b7\u0003"+
"8\u001c\u0000\u01b6\u01b5\u0001\u0000\u0000\u0000\u01b6\u01b7\u0001\u0000"+
"\u0000\u0000\u01b7\u01b9\u0001\u0000\u0000\u0000\u01b8\u01a1\u0001\u0000"+
"\u0000\u0000\u01b8\u01a5\u0001\u0000\u0000\u0000\u01b8\u01ab\u0001\u0000"+
"\u0000\u0000\u01b8\u01b0\u0001\u0000\u0000\u0000\u01b8\u01b4\u0001\u0000"+
"\u0000\u0000\u01b97\u0001\u0000\u0000\u0000\u01ba\u01bb\u0005\u0007\u0000"+
"\u0000\u01bb\u01c0\u0003:\u001d\u0000\u01bc\u01bd\u0005\n\u0000\u0000"+
"\u01bd\u01bf\u0003:\u001d\u0000\u01be\u01bc\u0001\u0000\u0000\u0000\u01bf"+
"\u01c2\u0001\u0000\u0000\u0000\u01c0\u01be\u0001\u0000\u0000\u0000\u01c0"+
"\u01c1\u0001\u0000\u0000\u0000\u01c1\u01c3\u0001\u0000\u0000\u0000\u01c2"+
"\u01c0\u0001\u0000\u0000\u0000\u01c3\u01c4\u0005\b\u0000\u0000\u01c49"+
"\u0001\u0000\u0000\u0000\u01c5\u01c7\u0003t:\u0000\u01c6\u01c8\u0003<"+
"\u001e\u0000\u01c7\u01c6\u0001\u0000\u0000\u0000\u01c7\u01c8\u0001\u0000"+
"\u0000\u0000\u01c8\u01ce\u0001\u0000\u0000\u0000\u01c9\u01cb\u0005J\u0000"+
"\u0000\u01ca\u01cc\u0003<\u001e\u0000\u01cb\u01ca\u0001\u0000\u0000\u0000"+
"\u01cb\u01cc\u0001\u0000\u0000\u0000\u01cc\u01ce\u0001\u0000\u0000\u0000"+
"\u01cd\u01c5\u0001\u0000\u0000\u0000\u01cd\u01c9\u0001\u0000\u0000\u0000"+
"\u01ce;\u0001\u0000\u0000\u0000\u01cf\u01d8\u0005\u0007\u0000\u0000\u01d0"+
"\u01d5\u0003>\u001f\u0000\u01d1\u01d2\u0005\n\u0000\u0000\u01d2\u01d4"+
"\u0003>\u001f\u0000\u01d3\u01d1\u0001\u0000\u0000\u0000\u01d4\u01d7\u0001"+
"\u0000\u0000\u0000\u01d5\u01d3\u0001\u0000\u0000\u0000\u01d5\u01d6\u0001"+
"\u0000\u0000\u0000\u01d6\u01d9\u0001\u0000\u0000\u0000\u01d7\u01d5\u0001"+
"\u0000\u0000\u0000\u01d8\u01d0\u0001\u0000\u0000\u0000\u01d8\u01d9\u0001"+
"\u0000\u0000\u0000\u01d9\u01da\u0001\u0000\u0000\u0000\u01da\u01db\u0005"+
"\b\u0000\u0000\u01db=\u0001\u0000\u0000\u0000\u01dc\u01e1\u0003v;\u0000"+
"\u01dd\u01e1\u0003t:\u0000\u01de\u01e1\u0003@ \u0000\u01df\u01e1\u0003"+
"B!\u0000\u01e0\u01dc\u0001\u0000\u0000\u0000\u01e0\u01dd\u0001\u0000\u0000"+
"\u0000\u01e0\u01de\u0001\u0000\u0000\u0000\u01e0\u01df\u0001\u0000\u0000"+
"\u0000\u01e1?\u0001\u0000\u0000\u0000\u01e2\u01e3\u0005A\u0000\u0000\u01e3"+
"A\u0001\u0000\u0000\u0000\u01e4\u01ed\u0005\u0005\u0000\u0000\u01e5\u01ea"+
"\u0003D\"\u0000\u01e6\u01e7\u0005\n\u0000\u0000\u01e7\u01e9\u0003D\"\u0000"+
"\u01e8\u01e6\u0001\u0000\u0000\u0000\u01e9\u01ec\u0001\u0000\u0000\u0000"+
"\u01ea\u01e8\u0001\u0000\u0000\u0000\u01ea\u01eb\u0001\u0000\u0000\u0000"+
"\u01eb\u01ee\u0001\u0000\u0000\u0000\u01ec\u01ea\u0001\u0000\u0000\u0000"+
"\u01ed\u01e5\u0001\u0000\u0000\u0000\u01ed\u01ee\u0001\u0000\u0000\u0000"+
"\u01ee\u01ef\u0001\u0000\u0000\u0000\u01ef\u01f0\u0005\u0006\u0000\u0000"+
"\u01f0C\u0001\u0000\u0000\u0000\u01f1\u01f2\u0005K\u0000\u0000\u01f2\u01f3"+
"\u0005\t\u0000\u0000\u01f3\u01fb\u0003v;\u0000\u01f4\u01f5\u0005K\u0000"+
"\u0000\u01f5\u01f6\u0005\t\u0000\u0000\u01f6\u01fb\u0003t:\u0000\u01f7"+
"\u01f8\u0005K\u0000\u0000\u01f8\u01f9\u0005\t\u0000\u0000\u01f9\u01fb"+
"\u0003@ \u0000\u01fa\u01f1\u0001\u0000\u0000\u0000\u01fa\u01f4\u0001\u0000"+
"\u0000\u0000\u01fa\u01f7\u0001\u0000\u0000\u0000\u01fbE\u0001\u0000\u0000"+
"\u0000\u01fc\u0201\u0003H$\u0000\u01fd\u01fe\u0005%\u0000\u0000\u01fe"+
"\u0200\u0003H$\u0000\u01ff\u01fd\u0001\u0000\u0000\u0000\u0200\u0203\u0001"+
"\u0000\u0000\u0000\u0201\u01ff\u0001\u0000\u0000\u0000\u0201\u0202\u0001"+
"\u0000\u0000\u0000\u0202\u0206\u0001\u0000\u0000\u0000\u0203\u0201\u0001"+
"\u0000\u0000\u0000\u0204\u0206\u0005J\u0000\u0000\u0205\u01fc\u0001\u0000"+
"\u0000\u0000\u0205\u0204\u0001\u0000\u0000\u0000\u0206G\u0001\u0000\u0000"+
"\u0000\u0207\u020b\u0005K\u0000\u0000\u0208\u0209\u0005\u0019\u0000\u0000"+
"\u0209\u020a\u0005L\u0000\u0000\u020a\u020c\u0005\u001a\u0000\u0000\u020b"+
"\u0208\u0001\u0000\u0000\u0000\u020b\u020c\u0001\u0000\u0000\u0000\u020c"+
"I\u0001\u0000\u0000\u0000\u020d\u020e\u0007\t\u0000\u0000\u020e\u020f"+
"\u0005\t\u0000\u0000\u020f\u0210\u0003R)\u0000\u0210K\u0001\u0000\u0000"+
"\u0000\u0211\u0212\u0007\n\u0000\u0000\u0212\u0213\u0005\t\u0000\u0000"+
"\u0213\u0214\u0003R)\u0000\u0214M\u0001\u0000\u0000\u0000\u0215\u0216"+
"\u0007\u000b\u0000\u0000\u0216\u0217\u0005\t\u0000\u0000\u0217\u0218\u0003"+
"R)\u0000\u0218O\u0001\u0000\u0000\u0000\u0219\u021e\u0005K\u0000\u0000"+
"\u021a\u021b\u0005\u001b\u0000\u0000\u021b\u021d\u0005K\u0000\u0000\u021c"+
"\u021a\u0001\u0000\u0000\u0000\u021d\u0220\u0001\u0000\u0000\u0000\u021e"+
"\u021c\u0001\u0000\u0000\u0000\u021e\u021f\u0001\u0000\u0000\u0000\u021f"+
"Q\u0001\u0000\u0000\u0000\u0220\u021e\u0001\u0000\u0000\u0000\u0221\u0223"+
"\u0005\u0005\u0000\u0000\u0222\u0224\u0003T*\u0000\u0223\u0222\u0001\u0000"+
"\u0000\u0000\u0224\u0225\u0001\u0000\u0000\u0000\u0225\u0223\u0001\u0000"+
"\u0000\u0000\u0225\u0226\u0001\u0000\u0000\u0000\u0226\u0227\u0001\u0000"+
"\u0000\u0000\u0227\u0228\u0005\u0006\u0000\u0000\u0228S\u0001\u0000\u0000"+
"\u0000\u0229\u022b\u00034\u001a\u0000\u022a\u0229\u0001\u0000\u0000\u0000"+
"\u022b\u022e\u0001\u0000\u0000\u0000\u022c\u022a\u0001\u0000\u0000\u0000"+
"\u022c\u022d\u0001\u0000\u0000\u0000\u022d\u022f\u0001\u0000\u0000\u0000"+
"\u022e\u022c\u0001\u0000\u0000\u0000\u022f\u0232\u0003X,\u0000\u0230\u0232"+
"\u0003V+\u0000\u0231\u022c\u0001\u0000\u0000\u0000\u0231\u0230\u0001\u0000"+
"\u0000\u0000\u0232U\u0001\u0000\u0000\u0000\u0233\u0234\u0007\f\u0000"+
"\u0000\u0234\u0236\u0005\u0005\u0000\u0000\u0235\u0237\u0003T*\u0000\u0236"+
"\u0235\u0001\u0000\u0000\u0000\u0237\u0238\u0001\u0000\u0000\u0000\u0238"+
"\u0236\u0001\u0000\u0000\u0000\u0238\u0239\u0001\u0000\u0000\u0000\u0239"+
"\u023a\u0001\u0000\u0000\u0000\u023a\u023b\u0005\u0006\u0000\u0000\u023b"+
"W\u0001\u0000\u0000\u0000\u023c\u023d\u0003Z-\u0000\u023d\u023e\u0003"+
"\\.\u0000\u023e\u023f\u0003^/\u0000\u023f\u0240\u0005\u001b\u0000\u0000"+
"\u0240Y\u0001\u0000\u0000\u0000\u0241\u0247\u0003p8\u0000\u0242\u0247"+
"\u0003t:\u0000\u0243\u0247\u0003z=\u0000\u0244\u0247\u0003r9\u0000\u0245"+
"\u0247\u0005J\u0000\u0000\u0246\u0241\u0001\u0000\u0000\u0000\u0246\u0242"+
"\u0001\u0000\u0000\u0000\u0246\u0243\u0001\u0000\u0000\u0000\u0246\u0244"+
"\u0001\u0000\u0000\u0000\u0246\u0245\u0001\u0000\u0000\u0000\u0247[\u0001"+
"\u0000\u0000\u0000\u0248\u024f\u0003p8\u0000\u0249\u024f\u0003t:\u0000"+
"\u024a\u024f\u0003~?\u0000\u024b\u024f\u0003`0\u0000\u024c\u024f\u0003"+
"r9\u0000\u024d\u024f\u0005J\u0000\u0000\u024e\u0248\u0001\u0000\u0000"+
"\u0000\u024e\u0249\u0001\u0000\u0000\u0000\u024e\u024a\u0001\u0000\u0000"+
"\u0000\u024e\u024b\u0001\u0000\u0000\u0000\u024e\u024c\u0001\u0000\u0000"+
"\u0000\u024e\u024d\u0001\u0000\u0000\u0000\u024f]\u0001\u0000\u0000\u0000"+
"\u0250\u0257\u0003p8\u0000\u0251\u0257\u0003t:\u0000\u0252\u0257\u0003"+
"v;\u0000\u0253\u0257\u0003z=\u0000\u0254\u0257\u0003r9\u0000\u0255\u0257"+
"\u0005J\u0000\u0000\u0256\u0250\u0001\u0000\u0000\u0000\u0256\u0251\u0001"+
"\u0000\u0000\u0000\u0256\u0252\u0001\u0000\u0000\u0000\u0256\u0253\u0001"+
"\u0000\u0000\u0000\u0256\u0254\u0001\u0000\u0000\u0000\u0256\u0255\u0001"+
"\u0000\u0000\u0000\u0257_\u0001\u0000\u0000\u0000\u0258\u0259\u0003b1"+
"\u0000\u0259a\u0001\u0000\u0000\u0000\u025a\u025f\u0003d2\u0000\u025b"+
"\u025c\u0005.\u0000\u0000\u025c\u025e\u0003d2\u0000\u025d\u025b\u0001"+
"\u0000\u0000\u0000\u025e\u0261\u0001\u0000\u0000\u0000\u025f\u025d\u0001"+
"\u0000\u0000\u0000\u025f\u0260\u0001\u0000\u0000\u0000\u0260c\u0001\u0000"+
"\u0000\u0000\u0261\u025f\u0001\u0000\u0000\u0000\u0262\u0267\u0003h4\u0000"+
"\u0263\u0264\u0005%\u0000\u0000\u0264\u0266\u0003h4\u0000\u0265\u0263"+
"\u0001\u0000\u0000\u0000\u0266\u0269\u0001\u0000\u0000\u0000\u0267\u0265"+
"\u0001\u0000\u0000\u0000\u0267\u0268\u0001\u0000\u0000\u0000\u0268e\u0001"+
"\u0000\u0000\u0000\u0269\u0267\u0001\u0000\u0000\u0000\u026a\u026c\u0003"+
"j5\u0000\u026b\u026d\u0005:\u0000\u0000\u026c\u026b\u0001\u0000\u0000"+
"\u0000\u026c\u026d\u0001\u0000\u0000\u0000\u026dg\u0001\u0000\u0000\u0000"+
"\u026e\u0272\u0003f3\u0000\u026f\u0270\u0005/\u0000\u0000\u0270\u0272"+
"\u0003f3\u0000\u0271\u026e\u0001\u0000\u0000\u0000\u0271\u026f\u0001\u0000"+
"\u0000\u0000\u0272i\u0001\u0000\u0000\u0000\u0273\u027c\u0003t:\u0000"+
"\u0274\u027c\u00050\u0000\u0000\u0275\u0276\u00051\u0000\u0000\u0276\u027c"+
"\u0003l6\u0000\u0277\u0278\u0005\u0007\u0000\u0000\u0278\u0279\u0003b"+
"1\u0000\u0279\u027a\u0005\b\u0000\u0000\u027a\u027c\u0001\u0000\u0000"+
"\u0000\u027b\u0273\u0001\u0000\u0000\u0000\u027b\u0274\u0001\u0000\u0000"+
"\u0000\u027b\u0275\u0001\u0000\u0000\u0000\u027b\u0277\u0001\u0000\u0000"+
"\u0000\u027ck\u0001\u0000\u0000\u0000\u027d\u028a\u0003n7\u0000\u027e"+
"\u027f\u0005\u0007\u0000\u0000\u027f\u0284\u0003n7\u0000\u0280\u0281\u0005"+
".\u0000\u0000\u0281\u0283\u0003n7\u0000\u0282\u0280\u0001\u0000\u0000"+
"\u0000\u0283\u0286\u0001\u0000\u0000\u0000\u0284\u0282\u0001\u0000\u0000"+
"\u0000\u0284\u0285\u0001\u0000\u0000\u0000\u0285\u0287\u0001\u0000\u0000"+
"\u0000\u0286\u0284\u0001\u0000\u0000\u0000\u0287\u0288\u0005\b\u0000\u0000"+
"\u0288\u028a\u0001\u0000\u0000\u0000\u0289\u027d\u0001\u0000\u0000\u0000"+
"\u0289\u027e\u0001\u0000\u0000\u0000\u028am\u0001\u0000\u0000\u0000\u028b"+
"\u0293\u0003t:\u0000\u028c\u0293\u00050\u0000\u0000\u028d\u0290\u0005"+
"/\u0000\u0000\u028e\u0291\u0003t:\u0000\u028f\u0291\u00050\u0000\u0000"+
"\u0290\u028e\u0001\u0000\u0000\u0000\u0290\u028f\u0001\u0000\u0000\u0000"+
"\u0291\u0293\u0001\u0000\u0000\u0000\u0292\u028b\u0001\u0000\u0000\u0000"+
"\u0292\u028c\u0001\u0000\u0000\u0000\u0292\u028d\u0001\u0000\u0000\u0000"+
"\u0293o\u0001\u0000\u0000\u0000\u0294\u0295\u0005@\u0000\u0000\u0295q"+
"\u0001\u0000\u0000\u0000\u0296\u029e\u0005A\u0000\u0000\u0297\u0298\u0005"+
"A\u0000\u0000\u0298\u0299\u0005\u001b\u0000\u0000\u0299\u029e\u0005K\u0000"+
"\u0000\u029a\u029b\u0005A\u0000\u0000\u029b\u029c\u00052\u0000\u0000\u029c"+
"\u029e\u0005K\u0000\u0000\u029d\u0296\u0001\u0000\u0000\u0000\u029d\u0297"+
"\u0001\u0000\u0000\u0000\u029d\u029a\u0001\u0000\u0000\u0000\u029es\u0001"+
"\u0000\u0000\u0000\u029f\u02a2\u0005?\u0000\u0000\u02a0\u02a2\u0003|>"+
"\u0000\u02a1\u029f\u0001\u0000\u0000\u0000\u02a1\u02a0\u0001\u0000\u0000"+
"\u0000\u02a2u\u0001\u0000\u0000\u0000\u02a3\u02a7\u0003x<\u0000\u02a4"+
"\u02a8\u0005E\u0000\u0000\u02a5\u02a6\u0005$\u0000\u0000\u02a6\u02a8\u0003"+
"t:\u0000\u02a7\u02a4\u0001\u0000\u0000\u0000\u02a7\u02a5\u0001\u0000\u0000"+
"\u0000\u02a7\u02a8\u0001\u0000\u0000\u0000\u02a8w\u0001\u0000\u0000\u0000"+
"\u02a9\u02aa\u0007\r\u0000\u0000\u02aay\u0001\u0000\u0000\u0000\u02ab"+
"\u02ac\u0005D\u0000\u0000\u02ac{\u0001\u0000\u0000\u0000\u02ad\u02b0\u0005"+
"C\u0000\u0000\u02ae\u02b0\u0005B\u0000\u0000\u02af\u02ad\u0001\u0000\u0000"+
"\u0000\u02af\u02ae\u0001\u0000\u0000\u0000\u02b0}\u0001\u0000\u0000\u0000"+
"\u02b1\u02b2\u0007\u000e\u0000\u0000\u02b2\u007f\u0001\u0000\u0000\u0000"+
"\u02b3\u02b4\u0007\u000f\u0000\u0000\u02b4\u02b5\u0005\t\u0000\u0000\u02b5"+
"\u02b6\u0003R)\u0000\u02b6\u0081\u0001\u0000\u0000\u0000\u02b7\u02b8\u0007"+
"\u0010\u0000\u0000\u02b8\u02b9\u0003.\u0017\u0000\u02b9\u02ba\u0003\u0084"+
"B\u0000\u02ba\u02bb\u00058\u0000\u0000\u02bb\u02bc\u0003J%\u0000\u02bc"+
"\u0083\u0001\u0000\u0000\u0000\u02bd\u02be\u0003\u0086C\u0000\u02be\u0085"+
"\u0001\u0000\u0000\u0000\u02bf\u02c4\u0003\u0088D\u0000\u02c0\u02c1\u0005"+
".\u0000\u0000\u02c1\u02c3\u0003\u0088D\u0000\u02c2\u02c0\u0001\u0000\u0000"+
"\u0000\u02c3\u02c6\u0001\u0000\u0000\u0000\u02c4\u02c2\u0001\u0000\u0000"+
"\u0000\u02c4\u02c5\u0001\u0000\u0000\u0000\u02c5\u0087\u0001\u0000\u0000"+
"\u0000\u02c6\u02c4\u0001\u0000\u0000\u0000\u02c7\u02c9\u0003\u008aE\u0000"+
"\u02c8\u02c7\u0001\u0000\u0000\u0000\u02c9\u02ca\u0001\u0000\u0000\u0000"+
"\u02ca\u02c8\u0001\u0000\u0000\u0000\u02ca\u02cb\u0001\u0000\u0000\u0000"+
"\u02cb\u0089\u0001\u0000\u0000\u0000\u02cc\u02ce\u0003\u008cF\u0000\u02cd"+
"\u02cf\u0005:\u0000\u0000\u02ce\u02cd\u0001\u0000\u0000\u0000\u02ce\u02cf"+
"\u0001\u0000\u0000\u0000\u02cf\u008b\u0001\u0000\u0000\u0000\u02d0\u02d2"+
"\u0005\u0019\u0000\u0000\u02d1\u02d3\u0005L\u0000\u0000\u02d2\u02d1\u0001"+
"\u0000\u0000\u0000\u02d2\u02d3\u0001\u0000\u0000\u0000\u02d3\u02d4\u0001"+
"\u0000\u0000\u0000\u02d4\u02d5\u0005K\u0000\u0000\u02d5\u02d6\u0007\u0006"+
"\u0000\u0000\u02d6\u02d7\u0005K\u0000\u0000\u02d7\u02dd\u0005\u001a\u0000"+
"\u0000\u02d8\u02d9\u0005\u0007\u0000\u0000\u02d9\u02da\u0003\u0086C\u0000"+
"\u02da\u02db\u0005\b\u0000\u0000\u02db\u02dd\u0001\u0000\u0000\u0000\u02dc"+
"\u02d0\u0001\u0000\u0000\u0000\u02dc\u02d8\u0001\u0000\u0000\u0000\u02dd"+
"\u008d\u0001\u0000\u0000\u0000U\u0090\u0094\u0096\u009c\u00a6\u00ab\u00b4"+
"\u00b8\u00bf\u00cb\u00ce\u00d7\u00dc\u00e4\u00ec\u00f2\u00f9\u00fe\u0104"+
"\u010f\u0112\u0116\u0119\u011c\u0120\u0123\u0126\u0138\u0145\u0151\u015b"+
"\u0160\u0164\u016f\u0177\u0187\u018e\u0195\u0198\u019f\u01a3\u01a9\u01ae"+
"\u01b2\u01b6\u01b8\u01c0\u01c7\u01cb\u01cd\u01d5\u01d8\u01e0\u01ea\u01ed"+
"\u01fa\u0201\u0205\u020b\u021e\u0225\u022c\u0231\u0238\u0246\u024e\u0256"+
"\u025f\u0267\u026c\u0271\u027b\u0284\u0289\u0290\u0292\u029d\u02a1\u02a7"+
"\u02af\u02c4\u02ca\u02ce\u02d2\u02dc";
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);
}
}
}