org.antlr.parser.antlr3.ANTLRv3Parser Maven / Gradle / Ivy
// Generated from ANTLRv3Parser.g4 by ANTLR 4.13.1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
// DO NOT EDIT THIS FILE MANUALLY!
// SEE build.xml FOR INSTRUCTIONS
package org.antlr.parser.antlr3;
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 ANTLRv3Parser extends Parser {
static { RuntimeMetaData.checkVersion("4.13.1", RuntimeMetaData.VERSION); }
protected static final DFA[] _decisionToDFA;
protected static final PredictionContextCache _sharedContextCache =
new PredictionContextCache();
public static final int
DOC_COMMENT=1, PARSER=2, LEXER=3, RULE=4, BLOCK=5, OPTIONAL=6, CLOSURE=7,
POSITIVE_CLOSURE=8, SYNPRED=9, RANGE=10, CHAR_RANGE=11, EPSILON=12, ALT=13,
EOR=14, EOB=15, EOA=16, ID=17, ARG=18, ARGLIST=19, RET=20, LEXER_GRAMMAR=21,
PARSER_GRAMMAR=22, TREE_GRAMMAR=23, COMBINED_GRAMMAR=24, INITACTION=25,
LABEL=26, TEMPLATE=27, SCOPE=28, SEMPRED=29, GATED_SEMPRED=30, SYN_SEMPRED=31,
BACKTRACK_SEMPRED=32, FRAGMENT=33, TREE_BEGIN=34, ROOT=35, BANG=36, REWRITE=37,
ACTION_CONTENT=38, SL_COMMENT=39, ML_COMMENT=40, INT=41, CHAR_LITERAL=42,
STRING_LITERAL=43, DOUBLE_QUOTE_STRING_LITERAL=44, DOUBLE_ANGLE_STRING_LITERAL=45,
BEGIN_ARGUMENT=46, BEGIN_ACTION=47, OPTIONS=48, TOKENS=49, CATCH=50, FINALLY=51,
GRAMMAR=52, PRIVATE=53, PROTECTED=54, PUBLIC=55, RETURNS=56, THROWS=57,
TREE=58, AT=59, COLON=60, COLONCOLON=61, COMMA=62, DOT=63, EQUAL=64, LBRACE=65,
LBRACK=66, LPAREN=67, OR=68, PLUS=69, QM=70, RBRACE=71, RBRACK=72, RPAREN=73,
SEMI=74, SEMPREDOP=75, STAR=76, DOLLAR=77, PEQ=78, NOT=79, WS=80, TOKEN_REF=81,
RULE_REF=82, END_ARGUMENT=83, UNTERMINATED_ARGUMENT=84, ARGUMENT_CONTENT=85,
END_ACTION=86, UNTERMINATED_ACTION=87, OPT_LBRACE=88, LEXER_CHAR_SET=89,
UNTERMINATED_CHAR_SET=90;
public static final int
RULE_grammarDef = 0, RULE_tokensSpec = 1, RULE_tokenSpec = 2, RULE_attrScope = 3,
RULE_action = 4, RULE_actionScopeName = 5, RULE_optionsSpec = 6, RULE_option = 7,
RULE_optionValue = 8, RULE_rule_ = 9, RULE_ruleAction = 10, RULE_throwsSpec = 11,
RULE_ruleScopeSpec = 12, RULE_block = 13, RULE_altList = 14, RULE_alternative = 15,
RULE_exceptionGroup = 16, RULE_exceptionHandler = 17, RULE_finallyClause = 18,
RULE_element = 19, RULE_elementNoOptionSpec = 20, RULE_actionBlock = 21,
RULE_argActionBlock = 22, RULE_atom = 23, RULE_notSet = 24, RULE_treeSpec = 25,
RULE_ebnf = 26, RULE_range_ = 27, RULE_terminal_ = 28, RULE_notTerminal = 29,
RULE_ebnfSuffix = 30, RULE_rewrite = 31, RULE_rewrite_alternative = 32,
RULE_rewrite_tree_block = 33, RULE_rewrite_tree_alternative = 34, RULE_rewrite_tree_element = 35,
RULE_rewrite_tree_atom = 36, RULE_rewrite_tree_ebnf = 37, RULE_rewrite_tree = 38,
RULE_rewrite_template = 39, RULE_rewrite_template_ref = 40, RULE_rewrite_indirect_template_head = 41,
RULE_rewrite_template_args = 42, RULE_rewrite_template_arg = 43, RULE_id_ = 44;
private static String[] makeRuleNames() {
return new String[] {
"grammarDef", "tokensSpec", "tokenSpec", "attrScope", "action", "actionScopeName",
"optionsSpec", "option", "optionValue", "rule_", "ruleAction", "throwsSpec",
"ruleScopeSpec", "block", "altList", "alternative", "exceptionGroup",
"exceptionHandler", "finallyClause", "element", "elementNoOptionSpec",
"actionBlock", "argActionBlock", "atom", "notSet", "treeSpec", "ebnf",
"range_", "terminal_", "notTerminal", "ebnfSuffix", "rewrite", "rewrite_alternative",
"rewrite_tree_block", "rewrite_tree_alternative", "rewrite_tree_element",
"rewrite_tree_atom", "rewrite_tree_ebnf", "rewrite_tree", "rewrite_template",
"rewrite_template_ref", "rewrite_indirect_template_head", "rewrite_template_args",
"rewrite_template_arg", "id_"
};
}
public static final String[] ruleNames = makeRuleNames();
private static String[] makeLiteralNames() {
return new String[] {
null, null, "'parser'", "'lexer'", null, null, null, null, null, null,
"'..'", null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, "'scope'", null, null, null, null,
"'fragment'", "'^('", "'^'", "'!'", null, null, null, null, null, null,
null, null, null, null, null, "'options'", "'tokens'", "'catch'", "'finally'",
"'grammar'", "'private'", "'protected'", "'public'", "'returns'", "'throws'",
"'tree'", null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, "'=>'"
};
}
private static final String[] _LITERAL_NAMES = makeLiteralNames();
private static String[] makeSymbolicNames() {
return new String[] {
null, "DOC_COMMENT", "PARSER", "LEXER", "RULE", "BLOCK", "OPTIONAL",
"CLOSURE", "POSITIVE_CLOSURE", "SYNPRED", "RANGE", "CHAR_RANGE", "EPSILON",
"ALT", "EOR", "EOB", "EOA", "ID", "ARG", "ARGLIST", "RET", "LEXER_GRAMMAR",
"PARSER_GRAMMAR", "TREE_GRAMMAR", "COMBINED_GRAMMAR", "INITACTION", "LABEL",
"TEMPLATE", "SCOPE", "SEMPRED", "GATED_SEMPRED", "SYN_SEMPRED", "BACKTRACK_SEMPRED",
"FRAGMENT", "TREE_BEGIN", "ROOT", "BANG", "REWRITE", "ACTION_CONTENT",
"SL_COMMENT", "ML_COMMENT", "INT", "CHAR_LITERAL", "STRING_LITERAL",
"DOUBLE_QUOTE_STRING_LITERAL", "DOUBLE_ANGLE_STRING_LITERAL", "BEGIN_ARGUMENT",
"BEGIN_ACTION", "OPTIONS", "TOKENS", "CATCH", "FINALLY", "GRAMMAR", "PRIVATE",
"PROTECTED", "PUBLIC", "RETURNS", "THROWS", "TREE", "AT", "COLON", "COLONCOLON",
"COMMA", "DOT", "EQUAL", "LBRACE", "LBRACK", "LPAREN", "OR", "PLUS",
"QM", "RBRACE", "RBRACK", "RPAREN", "SEMI", "SEMPREDOP", "STAR", "DOLLAR",
"PEQ", "NOT", "WS", "TOKEN_REF", "RULE_REF", "END_ARGUMENT", "UNTERMINATED_ARGUMENT",
"ARGUMENT_CONTENT", "END_ACTION", "UNTERMINATED_ACTION", "OPT_LBRACE",
"LEXER_CHAR_SET", "UNTERMINATED_CHAR_SET"
};
}
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 "ANTLRv3Parser.g4"; }
@Override
public String[] getRuleNames() { return ruleNames; }
@Override
public String getSerializedATN() { return _serializedATN; }
@Override
public ATN getATN() { return _ATN; }
public ANTLRv3Parser(TokenStream input) {
super(input);
_interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
}
@SuppressWarnings("CheckReturnValue")
public static class GrammarDefContext extends ParserRuleContext {
public TerminalNode GRAMMAR() { return getToken(ANTLRv3Parser.GRAMMAR, 0); }
public Id_Context id_() {
return getRuleContext(Id_Context.class,0);
}
public TerminalNode SEMI() { return getToken(ANTLRv3Parser.SEMI, 0); }
public TerminalNode EOF() { return getToken(ANTLRv3Parser.EOF, 0); }
public TerminalNode LEXER() { return getToken(ANTLRv3Parser.LEXER, 0); }
public TerminalNode PARSER() { return getToken(ANTLRv3Parser.PARSER, 0); }
public TerminalNode TREE() { return getToken(ANTLRv3Parser.TREE, 0); }
public TerminalNode DOC_COMMENT() { return getToken(ANTLRv3Parser.DOC_COMMENT, 0); }
public OptionsSpecContext optionsSpec() {
return getRuleContext(OptionsSpecContext.class,0);
}
public TokensSpecContext tokensSpec() {
return getRuleContext(TokensSpecContext.class,0);
}
public List attrScope() {
return getRuleContexts(AttrScopeContext.class);
}
public AttrScopeContext attrScope(int i) {
return getRuleContext(AttrScopeContext.class,i);
}
public List action() {
return getRuleContexts(ActionContext.class);
}
public ActionContext action(int i) {
return getRuleContext(ActionContext.class,i);
}
public List rule_() {
return getRuleContexts(Rule_Context.class);
}
public Rule_Context rule_(int i) {
return getRuleContext(Rule_Context.class,i);
}
public GrammarDefContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_grammarDef; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterGrammarDef(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitGrammarDef(this);
}
}
public final GrammarDefContext grammarDef() throws RecognitionException {
GrammarDefContext _localctx = new GrammarDefContext(_ctx, getState());
enterRule(_localctx, 0, RULE_grammarDef);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(91);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==DOC_COMMENT) {
{
setState(90);
match(DOC_COMMENT);
}
}
setState(97);
_errHandler.sync(this);
switch (_input.LA(1)) {
case LEXER:
{
setState(93);
match(LEXER);
}
break;
case PARSER:
{
setState(94);
match(PARSER);
}
break;
case TREE:
{
setState(95);
match(TREE);
}
break;
case GRAMMAR:
{
}
break;
default:
throw new NoViableAltException(this);
}
setState(99);
match(GRAMMAR);
setState(100);
id_();
setState(101);
match(SEMI);
setState(103);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==OPTIONS) {
{
setState(102);
optionsSpec();
}
}
setState(106);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==TOKENS) {
{
setState(105);
tokensSpec();
}
}
setState(111);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==SCOPE) {
{
{
setState(108);
attrScope();
}
}
setState(113);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(117);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==AT) {
{
{
setState(114);
action();
}
}
setState(119);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(121);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(120);
rule_();
}
}
setState(123);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & 63050403373121538L) != 0) || _la==TOKEN_REF || _la==RULE_REF );
setState(125);
match(EOF);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class TokensSpecContext extends ParserRuleContext {
public TerminalNode TOKENS() { return getToken(ANTLRv3Parser.TOKENS, 0); }
public TerminalNode LBRACE() { return getToken(ANTLRv3Parser.LBRACE, 0); }
public TerminalNode RBRACE() { return getToken(ANTLRv3Parser.RBRACE, 0); }
public List tokenSpec() {
return getRuleContexts(TokenSpecContext.class);
}
public TokenSpecContext tokenSpec(int i) {
return getRuleContext(TokenSpecContext.class,i);
}
public TokensSpecContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_tokensSpec; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterTokensSpec(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitTokensSpec(this);
}
}
public final TokensSpecContext tokensSpec() throws RecognitionException {
TokensSpecContext _localctx = new TokensSpecContext(_ctx, getState());
enterRule(_localctx, 2, RULE_tokensSpec);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(127);
match(TOKENS);
setState(128);
match(LBRACE);
setState(130);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(129);
tokenSpec();
}
}
setState(132);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==TOKEN_REF );
setState(134);
match(RBRACE);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class TokenSpecContext extends ParserRuleContext {
public TerminalNode TOKEN_REF() { return getToken(ANTLRv3Parser.TOKEN_REF, 0); }
public TerminalNode SEMI() { return getToken(ANTLRv3Parser.SEMI, 0); }
public TerminalNode EQUAL() { return getToken(ANTLRv3Parser.EQUAL, 0); }
public TerminalNode STRING_LITERAL() { return getToken(ANTLRv3Parser.STRING_LITERAL, 0); }
public TerminalNode CHAR_LITERAL() { return getToken(ANTLRv3Parser.CHAR_LITERAL, 0); }
public TokenSpecContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_tokenSpec; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterTokenSpec(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitTokenSpec(this);
}
}
public final TokenSpecContext tokenSpec() throws RecognitionException {
TokenSpecContext _localctx = new TokenSpecContext(_ctx, getState());
enterRule(_localctx, 4, RULE_tokenSpec);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(136);
match(TOKEN_REF);
setState(140);
_errHandler.sync(this);
switch (_input.LA(1)) {
case EQUAL:
{
setState(137);
match(EQUAL);
setState(138);
_la = _input.LA(1);
if ( !(_la==CHAR_LITERAL || _la==STRING_LITERAL) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
case SEMI:
{
}
break;
default:
throw new NoViableAltException(this);
}
setState(142);
match(SEMI);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class AttrScopeContext extends ParserRuleContext {
public TerminalNode SCOPE() { return getToken(ANTLRv3Parser.SCOPE, 0); }
public Id_Context id_() {
return getRuleContext(Id_Context.class,0);
}
public ActionBlockContext actionBlock() {
return getRuleContext(ActionBlockContext.class,0);
}
public AttrScopeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_attrScope; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterAttrScope(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitAttrScope(this);
}
}
public final AttrScopeContext attrScope() throws RecognitionException {
AttrScopeContext _localctx = new AttrScopeContext(_ctx, getState());
enterRule(_localctx, 6, RULE_attrScope);
try {
enterOuterAlt(_localctx, 1);
{
setState(144);
match(SCOPE);
setState(145);
id_();
setState(146);
actionBlock();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ActionContext extends ParserRuleContext {
public TerminalNode AT() { return getToken(ANTLRv3Parser.AT, 0); }
public Id_Context id_() {
return getRuleContext(Id_Context.class,0);
}
public ActionBlockContext actionBlock() {
return getRuleContext(ActionBlockContext.class,0);
}
public ActionScopeNameContext actionScopeName() {
return getRuleContext(ActionScopeNameContext.class,0);
}
public TerminalNode COLONCOLON() { return getToken(ANTLRv3Parser.COLONCOLON, 0); }
public ActionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_action; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterAction(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitAction(this);
}
}
public final ActionContext action() throws RecognitionException {
ActionContext _localctx = new ActionContext(_ctx, getState());
enterRule(_localctx, 8, RULE_action);
try {
enterOuterAlt(_localctx, 1);
{
setState(148);
match(AT);
setState(152);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,9,_ctx) ) {
case 1:
{
setState(149);
actionScopeName();
setState(150);
match(COLONCOLON);
}
break;
}
setState(154);
id_();
setState(155);
actionBlock();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ActionScopeNameContext extends ParserRuleContext {
public Id_Context id_() {
return getRuleContext(Id_Context.class,0);
}
public TerminalNode LEXER() { return getToken(ANTLRv3Parser.LEXER, 0); }
public TerminalNode PARSER() { return getToken(ANTLRv3Parser.PARSER, 0); }
public ActionScopeNameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_actionScopeName; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterActionScopeName(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitActionScopeName(this);
}
}
public final ActionScopeNameContext actionScopeName() throws RecognitionException {
ActionScopeNameContext _localctx = new ActionScopeNameContext(_ctx, getState());
enterRule(_localctx, 10, RULE_actionScopeName);
try {
setState(160);
_errHandler.sync(this);
switch (_input.LA(1)) {
case TOKEN_REF:
case RULE_REF:
enterOuterAlt(_localctx, 1);
{
setState(157);
id_();
}
break;
case LEXER:
enterOuterAlt(_localctx, 2);
{
setState(158);
match(LEXER);
}
break;
case PARSER:
enterOuterAlt(_localctx, 3);
{
setState(159);
match(PARSER);
}
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 OptionsSpecContext extends ParserRuleContext {
public TerminalNode OPTIONS() { return getToken(ANTLRv3Parser.OPTIONS, 0); }
public TerminalNode LBRACE() { return getToken(ANTLRv3Parser.LBRACE, 0); }
public TerminalNode RBRACE() { return getToken(ANTLRv3Parser.RBRACE, 0); }
public List option() {
return getRuleContexts(OptionContext.class);
}
public OptionContext option(int i) {
return getRuleContext(OptionContext.class,i);
}
public OptionsSpecContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_optionsSpec; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterOptionsSpec(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitOptionsSpec(this);
}
}
public final OptionsSpecContext optionsSpec() throws RecognitionException {
OptionsSpecContext _localctx = new OptionsSpecContext(_ctx, getState());
enterRule(_localctx, 12, RULE_optionsSpec);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(162);
match(OPTIONS);
setState(163);
match(LBRACE);
setState(167);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==TOKEN_REF || _la==RULE_REF) {
{
{
setState(164);
option();
}
}
setState(169);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(170);
match(RBRACE);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class OptionContext extends ParserRuleContext {
public Id_Context id_() {
return getRuleContext(Id_Context.class,0);
}
public TerminalNode EQUAL() { return getToken(ANTLRv3Parser.EQUAL, 0); }
public OptionValueContext optionValue() {
return getRuleContext(OptionValueContext.class,0);
}
public TerminalNode SEMI() { return getToken(ANTLRv3Parser.SEMI, 0); }
public OptionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_option; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterOption(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitOption(this);
}
}
public final OptionContext option() throws RecognitionException {
OptionContext _localctx = new OptionContext(_ctx, getState());
enterRule(_localctx, 14, RULE_option);
try {
enterOuterAlt(_localctx, 1);
{
setState(172);
id_();
setState(173);
match(EQUAL);
setState(174);
optionValue();
setState(175);
match(SEMI);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class OptionValueContext extends ParserRuleContext {
public Id_Context id_() {
return getRuleContext(Id_Context.class,0);
}
public TerminalNode STRING_LITERAL() { return getToken(ANTLRv3Parser.STRING_LITERAL, 0); }
public TerminalNode CHAR_LITERAL() { return getToken(ANTLRv3Parser.CHAR_LITERAL, 0); }
public TerminalNode INT() { return getToken(ANTLRv3Parser.INT, 0); }
public TerminalNode STAR() { return getToken(ANTLRv3Parser.STAR, 0); }
public OptionValueContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_optionValue; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterOptionValue(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitOptionValue(this);
}
}
public final OptionValueContext optionValue() throws RecognitionException {
OptionValueContext _localctx = new OptionValueContext(_ctx, getState());
enterRule(_localctx, 16, RULE_optionValue);
try {
setState(182);
_errHandler.sync(this);
switch (_input.LA(1)) {
case TOKEN_REF:
case RULE_REF:
enterOuterAlt(_localctx, 1);
{
setState(177);
id_();
}
break;
case STRING_LITERAL:
enterOuterAlt(_localctx, 2);
{
setState(178);
match(STRING_LITERAL);
}
break;
case CHAR_LITERAL:
enterOuterAlt(_localctx, 3);
{
setState(179);
match(CHAR_LITERAL);
}
break;
case INT:
enterOuterAlt(_localctx, 4);
{
setState(180);
match(INT);
}
break;
case STAR:
enterOuterAlt(_localctx, 5);
{
setState(181);
match(STAR);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Rule_Context extends ParserRuleContext {
public Id_Context id_() {
return getRuleContext(Id_Context.class,0);
}
public TerminalNode COLON() { return getToken(ANTLRv3Parser.COLON, 0); }
public AltListContext altList() {
return getRuleContext(AltListContext.class,0);
}
public TerminalNode SEMI() { return getToken(ANTLRv3Parser.SEMI, 0); }
public TerminalNode DOC_COMMENT() { return getToken(ANTLRv3Parser.DOC_COMMENT, 0); }
public TerminalNode BANG() { return getToken(ANTLRv3Parser.BANG, 0); }
public List argActionBlock() {
return getRuleContexts(ArgActionBlockContext.class);
}
public ArgActionBlockContext argActionBlock(int i) {
return getRuleContext(ArgActionBlockContext.class,i);
}
public TerminalNode RETURNS() { return getToken(ANTLRv3Parser.RETURNS, 0); }
public ThrowsSpecContext throwsSpec() {
return getRuleContext(ThrowsSpecContext.class,0);
}
public OptionsSpecContext optionsSpec() {
return getRuleContext(OptionsSpecContext.class,0);
}
public RuleScopeSpecContext ruleScopeSpec() {
return getRuleContext(RuleScopeSpecContext.class,0);
}
public List ruleAction() {
return getRuleContexts(RuleActionContext.class);
}
public RuleActionContext ruleAction(int i) {
return getRuleContext(RuleActionContext.class,i);
}
public ExceptionGroupContext exceptionGroup() {
return getRuleContext(ExceptionGroupContext.class,0);
}
public TerminalNode PROTECTED() { return getToken(ANTLRv3Parser.PROTECTED, 0); }
public TerminalNode PUBLIC() { return getToken(ANTLRv3Parser.PUBLIC, 0); }
public TerminalNode PRIVATE() { return getToken(ANTLRv3Parser.PRIVATE, 0); }
public TerminalNode FRAGMENT() { return getToken(ANTLRv3Parser.FRAGMENT, 0); }
public Rule_Context(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_rule_; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterRule_(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitRule_(this);
}
}
public final Rule_Context rule_() throws RecognitionException {
Rule_Context _localctx = new Rule_Context(_ctx, getState());
enterRule(_localctx, 18, RULE_rule_);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(185);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==DOC_COMMENT) {
{
setState(184);
match(DOC_COMMENT);
}
}
setState(188);
_errHandler.sync(this);
_la = _input.LA(1);
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 63050403373121536L) != 0)) {
{
setState(187);
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 63050403373121536L) != 0)) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(190);
id_();
setState(192);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==BANG) {
{
setState(191);
match(BANG);
}
}
setState(195);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==BEGIN_ARGUMENT) {
{
setState(194);
argActionBlock();
}
}
setState(199);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==RETURNS) {
{
setState(197);
match(RETURNS);
setState(198);
argActionBlock();
}
}
setState(202);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==THROWS) {
{
setState(201);
throwsSpec();
}
}
setState(205);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==OPTIONS) {
{
setState(204);
optionsSpec();
}
}
setState(208);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SCOPE) {
{
setState(207);
ruleScopeSpec();
}
}
setState(213);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==AT) {
{
{
setState(210);
ruleAction();
}
}
setState(215);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(216);
match(COLON);
setState(217);
altList();
setState(218);
match(SEMI);
setState(220);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==CATCH || _la==FINALLY) {
{
setState(219);
exceptionGroup();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class RuleActionContext extends ParserRuleContext {
public TerminalNode AT() { return getToken(ANTLRv3Parser.AT, 0); }
public Id_Context id_() {
return getRuleContext(Id_Context.class,0);
}
public ActionBlockContext actionBlock() {
return getRuleContext(ActionBlockContext.class,0);
}
public RuleActionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_ruleAction; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterRuleAction(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitRuleAction(this);
}
}
public final RuleActionContext ruleAction() throws RecognitionException {
RuleActionContext _localctx = new RuleActionContext(_ctx, getState());
enterRule(_localctx, 20, RULE_ruleAction);
try {
enterOuterAlt(_localctx, 1);
{
setState(222);
match(AT);
setState(223);
id_();
setState(224);
actionBlock();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ThrowsSpecContext extends ParserRuleContext {
public TerminalNode THROWS() { return getToken(ANTLRv3Parser.THROWS, 0); }
public List id_() {
return getRuleContexts(Id_Context.class);
}
public Id_Context id_(int i) {
return getRuleContext(Id_Context.class,i);
}
public List COMMA() { return getTokens(ANTLRv3Parser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(ANTLRv3Parser.COMMA, i);
}
public ThrowsSpecContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_throwsSpec; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterThrowsSpec(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitThrowsSpec(this);
}
}
public final ThrowsSpecContext throwsSpec() throws RecognitionException {
ThrowsSpecContext _localctx = new ThrowsSpecContext(_ctx, getState());
enterRule(_localctx, 22, RULE_throwsSpec);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(226);
match(THROWS);
setState(227);
id_();
setState(232);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(228);
match(COMMA);
setState(229);
id_();
}
}
setState(234);
_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 RuleScopeSpecContext extends ParserRuleContext {
public List SCOPE() { return getTokens(ANTLRv3Parser.SCOPE); }
public TerminalNode SCOPE(int i) {
return getToken(ANTLRv3Parser.SCOPE, i);
}
public ActionBlockContext actionBlock() {
return getRuleContext(ActionBlockContext.class,0);
}
public List id_() {
return getRuleContexts(Id_Context.class);
}
public Id_Context id_(int i) {
return getRuleContext(Id_Context.class,i);
}
public TerminalNode SEMI() { return getToken(ANTLRv3Parser.SEMI, 0); }
public List COMMA() { return getTokens(ANTLRv3Parser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(ANTLRv3Parser.COMMA, i);
}
public RuleScopeSpecContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_ruleScopeSpec; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterRuleScopeSpec(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitRuleScopeSpec(this);
}
}
public final RuleScopeSpecContext ruleScopeSpec() throws RecognitionException {
RuleScopeSpecContext _localctx = new RuleScopeSpecContext(_ctx, getState());
enterRule(_localctx, 24, RULE_ruleScopeSpec);
int _la;
try {
setState(261);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,26,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(235);
match(SCOPE);
setState(236);
actionBlock();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(237);
match(SCOPE);
setState(238);
id_();
setState(243);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(239);
match(COMMA);
setState(240);
id_();
}
}
setState(245);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(246);
match(SEMI);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(248);
match(SCOPE);
setState(249);
actionBlock();
setState(250);
match(SCOPE);
setState(251);
id_();
setState(256);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(252);
match(COMMA);
setState(253);
id_();
}
}
setState(258);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(259);
match(SEMI);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class BlockContext extends ParserRuleContext {
public TerminalNode LPAREN() { return getToken(ANTLRv3Parser.LPAREN, 0); }
public List alternative() {
return getRuleContexts(AlternativeContext.class);
}
public AlternativeContext alternative(int i) {
return getRuleContext(AlternativeContext.class,i);
}
public List rewrite() {
return getRuleContexts(RewriteContext.class);
}
public RewriteContext rewrite(int i) {
return getRuleContext(RewriteContext.class,i);
}
public TerminalNode RPAREN() { return getToken(ANTLRv3Parser.RPAREN, 0); }
public TerminalNode COLON() { return getToken(ANTLRv3Parser.COLON, 0); }
public List OR() { return getTokens(ANTLRv3Parser.OR); }
public TerminalNode OR(int i) {
return getToken(ANTLRv3Parser.OR, i);
}
public OptionsSpecContext optionsSpec() {
return getRuleContext(OptionsSpecContext.class,0);
}
public BlockContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_block; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterBlock(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitBlock(this);
}
}
public final BlockContext block() throws RecognitionException {
BlockContext _localctx = new BlockContext(_ctx, getState());
enterRule(_localctx, 26, RULE_block);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(263);
match(LPAREN);
setState(268);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==OPTIONS || _la==COLON) {
{
setState(265);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==OPTIONS) {
{
setState(264);
optionsSpec();
}
}
setState(267);
match(COLON);
}
}
setState(270);
alternative();
setState(271);
rewrite();
setState(278);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==OR) {
{
{
setState(272);
match(OR);
setState(273);
alternative();
setState(274);
rewrite();
}
}
setState(280);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(281);
match(RPAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class AltListContext extends ParserRuleContext {
public List alternative() {
return getRuleContexts(AlternativeContext.class);
}
public AlternativeContext alternative(int i) {
return getRuleContext(AlternativeContext.class,i);
}
public List rewrite() {
return getRuleContexts(RewriteContext.class);
}
public RewriteContext rewrite(int i) {
return getRuleContext(RewriteContext.class,i);
}
public List OR() { return getTokens(ANTLRv3Parser.OR); }
public TerminalNode OR(int i) {
return getToken(ANTLRv3Parser.OR, i);
}
public AltListContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_altList; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterAltList(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitAltList(this);
}
}
public final AltListContext altList() throws RecognitionException {
AltListContext _localctx = new AltListContext(_ctx, getState());
enterRule(_localctx, 28, RULE_altList);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(283);
alternative();
setState(284);
rewrite();
setState(291);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==OR) {
{
{
setState(285);
match(OR);
setState(286);
alternative();
setState(287);
rewrite();
}
}
setState(293);
_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 AlternativeContext extends ParserRuleContext {
public List element() {
return getRuleContexts(ElementContext.class);
}
public ElementContext element(int i) {
return getRuleContext(ElementContext.class,i);
}
public AlternativeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alternative; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterAlternative(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitAlternative(this);
}
}
public final AlternativeContext alternative() throws RecognitionException {
AlternativeContext _localctx = new AlternativeContext(_ctx, getState());
enterRule(_localctx, 30, RULE_alternative);
int _la;
try {
setState(300);
_errHandler.sync(this);
switch (_input.LA(1)) {
case TREE_BEGIN:
case CHAR_LITERAL:
case STRING_LITERAL:
case BEGIN_ACTION:
case DOT:
case LPAREN:
case NOT:
case TOKEN_REF:
case RULE_REF:
enterOuterAlt(_localctx, 1);
{
setState(295);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(294);
element();
}
}
setState(297);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( ((((_la - 34)) & ~0x3f) == 0 && ((1L << (_la - 34)) & 457405963969281L) != 0) );
}
break;
case REWRITE:
case OR:
case RPAREN:
case SEMI:
enterOuterAlt(_localctx, 2);
{
}
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 ExceptionGroupContext extends ParserRuleContext {
public List exceptionHandler() {
return getRuleContexts(ExceptionHandlerContext.class);
}
public ExceptionHandlerContext exceptionHandler(int i) {
return getRuleContext(ExceptionHandlerContext.class,i);
}
public FinallyClauseContext finallyClause() {
return getRuleContext(FinallyClauseContext.class,0);
}
public ExceptionGroupContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_exceptionGroup; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterExceptionGroup(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitExceptionGroup(this);
}
}
public final ExceptionGroupContext exceptionGroup() throws RecognitionException {
ExceptionGroupContext _localctx = new ExceptionGroupContext(_ctx, getState());
enterRule(_localctx, 32, RULE_exceptionGroup);
int _la;
try {
setState(311);
_errHandler.sync(this);
switch (_input.LA(1)) {
case CATCH:
enterOuterAlt(_localctx, 1);
{
setState(303);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(302);
exceptionHandler();
}
}
setState(305);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==CATCH );
setState(308);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==FINALLY) {
{
setState(307);
finallyClause();
}
}
}
break;
case FINALLY:
enterOuterAlt(_localctx, 2);
{
setState(310);
finallyClause();
}
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 ExceptionHandlerContext extends ParserRuleContext {
public TerminalNode CATCH() { return getToken(ANTLRv3Parser.CATCH, 0); }
public ArgActionBlockContext argActionBlock() {
return getRuleContext(ArgActionBlockContext.class,0);
}
public ActionBlockContext actionBlock() {
return getRuleContext(ActionBlockContext.class,0);
}
public ExceptionHandlerContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_exceptionHandler; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterExceptionHandler(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitExceptionHandler(this);
}
}
public final ExceptionHandlerContext exceptionHandler() throws RecognitionException {
ExceptionHandlerContext _localctx = new ExceptionHandlerContext(_ctx, getState());
enterRule(_localctx, 34, RULE_exceptionHandler);
try {
enterOuterAlt(_localctx, 1);
{
setState(313);
match(CATCH);
setState(314);
argActionBlock();
setState(315);
actionBlock();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class FinallyClauseContext extends ParserRuleContext {
public TerminalNode FINALLY() { return getToken(ANTLRv3Parser.FINALLY, 0); }
public ActionBlockContext actionBlock() {
return getRuleContext(ActionBlockContext.class,0);
}
public FinallyClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_finallyClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterFinallyClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitFinallyClause(this);
}
}
public final FinallyClauseContext finallyClause() throws RecognitionException {
FinallyClauseContext _localctx = new FinallyClauseContext(_ctx, getState());
enterRule(_localctx, 36, RULE_finallyClause);
try {
enterOuterAlt(_localctx, 1);
{
setState(317);
match(FINALLY);
setState(318);
actionBlock();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ElementContext extends ParserRuleContext {
public ElementNoOptionSpecContext elementNoOptionSpec() {
return getRuleContext(ElementNoOptionSpecContext.class,0);
}
public ElementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_element; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterElement(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitElement(this);
}
}
public final ElementContext element() throws RecognitionException {
ElementContext _localctx = new ElementContext(_ctx, getState());
enterRule(_localctx, 38, RULE_element);
try {
enterOuterAlt(_localctx, 1);
{
setState(320);
elementNoOptionSpec();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ElementNoOptionSpecContext extends ParserRuleContext {
public Id_Context id_() {
return getRuleContext(Id_Context.class,0);
}
public AtomContext atom() {
return getRuleContext(AtomContext.class,0);
}
public TerminalNode EQUAL() { return getToken(ANTLRv3Parser.EQUAL, 0); }
public TerminalNode PEQ() { return getToken(ANTLRv3Parser.PEQ, 0); }
public EbnfSuffixContext ebnfSuffix() {
return getRuleContext(EbnfSuffixContext.class,0);
}
public BlockContext block() {
return getRuleContext(BlockContext.class,0);
}
public EbnfContext ebnf() {
return getRuleContext(EbnfContext.class,0);
}
public ActionBlockContext actionBlock() {
return getRuleContext(ActionBlockContext.class,0);
}
public TerminalNode QM() { return getToken(ANTLRv3Parser.QM, 0); }
public TerminalNode SEMPREDOP() { return getToken(ANTLRv3Parser.SEMPREDOP, 0); }
public TreeSpecContext treeSpec() {
return getRuleContext(TreeSpecContext.class,0);
}
public ElementNoOptionSpecContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_elementNoOptionSpec; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterElementNoOptionSpec(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitElementNoOptionSpec(this);
}
}
public final ElementNoOptionSpecContext elementNoOptionSpec() throws RecognitionException {
ElementNoOptionSpecContext _localctx = new ElementNoOptionSpecContext(_ctx, getState());
enterRule(_localctx, 40, RULE_elementNoOptionSpec);
int _la;
try {
setState(354);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,41,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(322);
id_();
setState(323);
_la = _input.LA(1);
if ( !(_la==EQUAL || _la==PEQ) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(324);
atom();
setState(327);
_errHandler.sync(this);
switch (_input.LA(1)) {
case PLUS:
case QM:
case STAR:
{
setState(325);
ebnfSuffix();
}
break;
case TREE_BEGIN:
case REWRITE:
case CHAR_LITERAL:
case STRING_LITERAL:
case BEGIN_ACTION:
case DOT:
case LPAREN:
case OR:
case RPAREN:
case SEMI:
case NOT:
case TOKEN_REF:
case RULE_REF:
{
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(329);
id_();
setState(330);
_la = _input.LA(1);
if ( !(_la==EQUAL || _la==PEQ) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(331);
block();
setState(334);
_errHandler.sync(this);
switch (_input.LA(1)) {
case PLUS:
case QM:
case STAR:
{
setState(332);
ebnfSuffix();
}
break;
case TREE_BEGIN:
case REWRITE:
case CHAR_LITERAL:
case STRING_LITERAL:
case BEGIN_ACTION:
case DOT:
case LPAREN:
case OR:
case RPAREN:
case SEMI:
case NOT:
case TOKEN_REF:
case RULE_REF:
{
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(336);
atom();
setState(339);
_errHandler.sync(this);
switch (_input.LA(1)) {
case PLUS:
case QM:
case STAR:
{
setState(337);
ebnfSuffix();
}
break;
case TREE_BEGIN:
case REWRITE:
case CHAR_LITERAL:
case STRING_LITERAL:
case BEGIN_ACTION:
case DOT:
case LPAREN:
case OR:
case RPAREN:
case SEMI:
case NOT:
case TOKEN_REF:
case RULE_REF:
{
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(341);
ebnf();
}
break;
case 5:
enterOuterAlt(_localctx, 5);
{
setState(342);
actionBlock();
}
break;
case 6:
enterOuterAlt(_localctx, 6);
{
setState(343);
actionBlock();
setState(344);
match(QM);
setState(347);
_errHandler.sync(this);
switch (_input.LA(1)) {
case SEMPREDOP:
{
setState(345);
match(SEMPREDOP);
}
break;
case TREE_BEGIN:
case REWRITE:
case CHAR_LITERAL:
case STRING_LITERAL:
case BEGIN_ACTION:
case DOT:
case LPAREN:
case OR:
case RPAREN:
case SEMI:
case NOT:
case TOKEN_REF:
case RULE_REF:
{
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case 7:
enterOuterAlt(_localctx, 7);
{
setState(349);
treeSpec();
setState(352);
_errHandler.sync(this);
switch (_input.LA(1)) {
case PLUS:
case QM:
case STAR:
{
setState(350);
ebnfSuffix();
}
break;
case TREE_BEGIN:
case REWRITE:
case CHAR_LITERAL:
case STRING_LITERAL:
case BEGIN_ACTION:
case DOT:
case LPAREN:
case OR:
case RPAREN:
case SEMI:
case NOT:
case TOKEN_REF:
case RULE_REF:
{
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ActionBlockContext extends ParserRuleContext {
public TerminalNode BEGIN_ACTION() { return getToken(ANTLRv3Parser.BEGIN_ACTION, 0); }
public TerminalNode END_ACTION() { return getToken(ANTLRv3Parser.END_ACTION, 0); }
public List ACTION_CONTENT() { return getTokens(ANTLRv3Parser.ACTION_CONTENT); }
public TerminalNode ACTION_CONTENT(int i) {
return getToken(ANTLRv3Parser.ACTION_CONTENT, i);
}
public ActionBlockContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_actionBlock; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterActionBlock(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitActionBlock(this);
}
}
public final ActionBlockContext actionBlock() throws RecognitionException {
ActionBlockContext _localctx = new ActionBlockContext(_ctx, getState());
enterRule(_localctx, 42, RULE_actionBlock);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(356);
match(BEGIN_ACTION);
setState(360);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==ACTION_CONTENT) {
{
{
setState(357);
match(ACTION_CONTENT);
}
}
setState(362);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(363);
match(END_ACTION);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ArgActionBlockContext extends ParserRuleContext {
public TerminalNode BEGIN_ARGUMENT() { return getToken(ANTLRv3Parser.BEGIN_ARGUMENT, 0); }
public TerminalNode END_ARGUMENT() { return getToken(ANTLRv3Parser.END_ARGUMENT, 0); }
public List ARGUMENT_CONTENT() { return getTokens(ANTLRv3Parser.ARGUMENT_CONTENT); }
public TerminalNode ARGUMENT_CONTENT(int i) {
return getToken(ANTLRv3Parser.ARGUMENT_CONTENT, i);
}
public ArgActionBlockContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_argActionBlock; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterArgActionBlock(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitArgActionBlock(this);
}
}
public final ArgActionBlockContext argActionBlock() throws RecognitionException {
ArgActionBlockContext _localctx = new ArgActionBlockContext(_ctx, getState());
enterRule(_localctx, 44, RULE_argActionBlock);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(365);
match(BEGIN_ARGUMENT);
setState(369);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==ARGUMENT_CONTENT) {
{
{
setState(366);
match(ARGUMENT_CONTENT);
}
}
setState(371);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(372);
match(END_ARGUMENT);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class AtomContext extends ParserRuleContext {
public Range_Context range_() {
return getRuleContext(Range_Context.class,0);
}
public TerminalNode ROOT() { return getToken(ANTLRv3Parser.ROOT, 0); }
public TerminalNode BANG() { return getToken(ANTLRv3Parser.BANG, 0); }
public Terminal_Context terminal_() {
return getRuleContext(Terminal_Context.class,0);
}
public NotSetContext notSet() {
return getRuleContext(NotSetContext.class,0);
}
public TerminalNode RULE_REF() { return getToken(ANTLRv3Parser.RULE_REF, 0); }
public ArgActionBlockContext argActionBlock() {
return getRuleContext(ArgActionBlockContext.class,0);
}
public AtomContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_atom; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterAtom(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitAtom(this);
}
}
public final AtomContext atom() throws RecognitionException {
AtomContext _localctx = new AtomContext(_ctx, getState());
enterRule(_localctx, 46, RULE_atom);
int _la;
try {
setState(394);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,48,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(374);
range_();
setState(378);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ROOT:
{
setState(375);
match(ROOT);
}
break;
case BANG:
{
setState(376);
match(BANG);
}
break;
case TREE_BEGIN:
case REWRITE:
case CHAR_LITERAL:
case STRING_LITERAL:
case BEGIN_ACTION:
case DOT:
case LPAREN:
case OR:
case PLUS:
case QM:
case RPAREN:
case SEMI:
case STAR:
case NOT:
case TOKEN_REF:
case RULE_REF:
{
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(380);
terminal_();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(381);
notSet();
setState(385);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ROOT:
{
setState(382);
match(ROOT);
}
break;
case BANG:
{
setState(383);
match(BANG);
}
break;
case TREE_BEGIN:
case REWRITE:
case CHAR_LITERAL:
case STRING_LITERAL:
case BEGIN_ACTION:
case DOT:
case LPAREN:
case OR:
case PLUS:
case QM:
case RPAREN:
case SEMI:
case STAR:
case NOT:
case TOKEN_REF:
case RULE_REF:
{
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(387);
match(RULE_REF);
setState(389);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==BEGIN_ARGUMENT) {
{
setState(388);
argActionBlock();
}
}
setState(392);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ROOT || _la==BANG) {
{
setState(391);
_la = _input.LA(1);
if ( !(_la==ROOT || _la==BANG) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class NotSetContext extends ParserRuleContext {
public TerminalNode NOT() { return getToken(ANTLRv3Parser.NOT, 0); }
public NotTerminalContext notTerminal() {
return getRuleContext(NotTerminalContext.class,0);
}
public BlockContext block() {
return getRuleContext(BlockContext.class,0);
}
public NotSetContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_notSet; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterNotSet(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitNotSet(this);
}
}
public final NotSetContext notSet() throws RecognitionException {
NotSetContext _localctx = new NotSetContext(_ctx, getState());
enterRule(_localctx, 48, RULE_notSet);
try {
enterOuterAlt(_localctx, 1);
{
setState(396);
match(NOT);
setState(399);
_errHandler.sync(this);
switch (_input.LA(1)) {
case CHAR_LITERAL:
case STRING_LITERAL:
case TOKEN_REF:
{
setState(397);
notTerminal();
}
break;
case LPAREN:
{
setState(398);
block();
}
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 TreeSpecContext extends ParserRuleContext {
public TerminalNode TREE_BEGIN() { return getToken(ANTLRv3Parser.TREE_BEGIN, 0); }
public List element() {
return getRuleContexts(ElementContext.class);
}
public ElementContext element(int i) {
return getRuleContext(ElementContext.class,i);
}
public TerminalNode RPAREN() { return getToken(ANTLRv3Parser.RPAREN, 0); }
public TreeSpecContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_treeSpec; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterTreeSpec(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitTreeSpec(this);
}
}
public final TreeSpecContext treeSpec() throws RecognitionException {
TreeSpecContext _localctx = new TreeSpecContext(_ctx, getState());
enterRule(_localctx, 50, RULE_treeSpec);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(401);
match(TREE_BEGIN);
setState(402);
element();
setState(404);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(403);
element();
}
}
setState(406);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( ((((_la - 34)) & ~0x3f) == 0 && ((1L << (_la - 34)) & 457405963969281L) != 0) );
setState(408);
match(RPAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class EbnfContext extends ParserRuleContext {
public BlockContext block() {
return getRuleContext(BlockContext.class,0);
}
public TerminalNode QM() { return getToken(ANTLRv3Parser.QM, 0); }
public TerminalNode STAR() { return getToken(ANTLRv3Parser.STAR, 0); }
public TerminalNode PLUS() { return getToken(ANTLRv3Parser.PLUS, 0); }
public TerminalNode SEMPREDOP() { return getToken(ANTLRv3Parser.SEMPREDOP, 0); }
public EbnfContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_ebnf; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterEbnf(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitEbnf(this);
}
}
public final EbnfContext ebnf() throws RecognitionException {
EbnfContext _localctx = new EbnfContext(_ctx, getState());
enterRule(_localctx, 52, RULE_ebnf);
try {
enterOuterAlt(_localctx, 1);
{
setState(410);
block();
setState(416);
_errHandler.sync(this);
switch (_input.LA(1)) {
case QM:
{
setState(411);
match(QM);
}
break;
case STAR:
{
setState(412);
match(STAR);
}
break;
case PLUS:
{
setState(413);
match(PLUS);
}
break;
case SEMPREDOP:
{
setState(414);
match(SEMPREDOP);
}
break;
case TREE_BEGIN:
case REWRITE:
case CHAR_LITERAL:
case STRING_LITERAL:
case BEGIN_ACTION:
case DOT:
case LPAREN:
case OR:
case RPAREN:
case SEMI:
case NOT:
case TOKEN_REF:
case RULE_REF:
{
}
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 Range_Context extends ParserRuleContext {
public List CHAR_LITERAL() { return getTokens(ANTLRv3Parser.CHAR_LITERAL); }
public TerminalNode CHAR_LITERAL(int i) {
return getToken(ANTLRv3Parser.CHAR_LITERAL, i);
}
public TerminalNode RANGE() { return getToken(ANTLRv3Parser.RANGE, 0); }
public Range_Context(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_range_; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterRange_(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitRange_(this);
}
}
public final Range_Context range_() throws RecognitionException {
Range_Context _localctx = new Range_Context(_ctx, getState());
enterRule(_localctx, 54, RULE_range_);
try {
enterOuterAlt(_localctx, 1);
{
setState(418);
match(CHAR_LITERAL);
setState(419);
match(RANGE);
setState(420);
match(CHAR_LITERAL);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Terminal_Context extends ParserRuleContext {
public TerminalNode CHAR_LITERAL() { return getToken(ANTLRv3Parser.CHAR_LITERAL, 0); }
public TerminalNode TOKEN_REF() { return getToken(ANTLRv3Parser.TOKEN_REF, 0); }
public TerminalNode STRING_LITERAL() { return getToken(ANTLRv3Parser.STRING_LITERAL, 0); }
public TerminalNode DOT() { return getToken(ANTLRv3Parser.DOT, 0); }
public ArgActionBlockContext argActionBlock() {
return getRuleContext(ArgActionBlockContext.class,0);
}
public TerminalNode ROOT() { return getToken(ANTLRv3Parser.ROOT, 0); }
public TerminalNode BANG() { return getToken(ANTLRv3Parser.BANG, 0); }
public Terminal_Context(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_terminal_; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterTerminal_(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitTerminal_(this);
}
}
public final Terminal_Context terminal_() throws RecognitionException {
Terminal_Context _localctx = new Terminal_Context(_ctx, getState());
enterRule(_localctx, 56, RULE_terminal_);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(430);
_errHandler.sync(this);
switch (_input.LA(1)) {
case CHAR_LITERAL:
{
setState(422);
match(CHAR_LITERAL);
}
break;
case TOKEN_REF:
{
setState(423);
match(TOKEN_REF);
setState(426);
_errHandler.sync(this);
switch (_input.LA(1)) {
case BEGIN_ARGUMENT:
{
setState(424);
argActionBlock();
}
break;
case TREE_BEGIN:
case ROOT:
case BANG:
case REWRITE:
case CHAR_LITERAL:
case STRING_LITERAL:
case BEGIN_ACTION:
case DOT:
case LPAREN:
case OR:
case PLUS:
case QM:
case RPAREN:
case SEMI:
case STAR:
case NOT:
case TOKEN_REF:
case RULE_REF:
{
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case STRING_LITERAL:
{
setState(428);
match(STRING_LITERAL);
}
break;
case DOT:
{
setState(429);
match(DOT);
}
break;
default:
throw new NoViableAltException(this);
}
setState(433);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ROOT || _la==BANG) {
{
setState(432);
_la = _input.LA(1);
if ( !(_la==ROOT || _la==BANG) ) {
_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 NotTerminalContext extends ParserRuleContext {
public TerminalNode CHAR_LITERAL() { return getToken(ANTLRv3Parser.CHAR_LITERAL, 0); }
public TerminalNode TOKEN_REF() { return getToken(ANTLRv3Parser.TOKEN_REF, 0); }
public TerminalNode STRING_LITERAL() { return getToken(ANTLRv3Parser.STRING_LITERAL, 0); }
public NotTerminalContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_notTerminal; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterNotTerminal(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitNotTerminal(this);
}
}
public final NotTerminalContext notTerminal() throws RecognitionException {
NotTerminalContext _localctx = new NotTerminalContext(_ctx, getState());
enterRule(_localctx, 58, RULE_notTerminal);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(435);
_la = _input.LA(1);
if ( !(((((_la - 42)) & ~0x3f) == 0 && ((1L << (_la - 42)) & 549755813891L) != 0)) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class EbnfSuffixContext extends ParserRuleContext {
public TerminalNode QM() { return getToken(ANTLRv3Parser.QM, 0); }
public TerminalNode STAR() { return getToken(ANTLRv3Parser.STAR, 0); }
public TerminalNode PLUS() { return getToken(ANTLRv3Parser.PLUS, 0); }
public EbnfSuffixContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_ebnfSuffix; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterEbnfSuffix(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitEbnfSuffix(this);
}
}
public final EbnfSuffixContext ebnfSuffix() throws RecognitionException {
EbnfSuffixContext _localctx = new EbnfSuffixContext(_ctx, getState());
enterRule(_localctx, 60, RULE_ebnfSuffix);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(437);
_la = _input.LA(1);
if ( !(((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & 131L) != 0)) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class RewriteContext extends ParserRuleContext {
public List REWRITE() { return getTokens(ANTLRv3Parser.REWRITE); }
public TerminalNode REWRITE(int i) {
return getToken(ANTLRv3Parser.REWRITE, i);
}
public List rewrite_alternative() {
return getRuleContexts(Rewrite_alternativeContext.class);
}
public Rewrite_alternativeContext rewrite_alternative(int i) {
return getRuleContext(Rewrite_alternativeContext.class,i);
}
public List actionBlock() {
return getRuleContexts(ActionBlockContext.class);
}
public ActionBlockContext actionBlock(int i) {
return getRuleContext(ActionBlockContext.class,i);
}
public List QM() { return getTokens(ANTLRv3Parser.QM); }
public TerminalNode QM(int i) {
return getToken(ANTLRv3Parser.QM, i);
}
public RewriteContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_rewrite; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterRewrite(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitRewrite(this);
}
}
public final RewriteContext rewrite() throws RecognitionException {
RewriteContext _localctx = new RewriteContext(_ctx, getState());
enterRule(_localctx, 62, RULE_rewrite);
try {
int _alt;
setState(452);
_errHandler.sync(this);
switch (_input.LA(1)) {
case REWRITE:
enterOuterAlt(_localctx, 1);
{
setState(446);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,55,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(439);
match(REWRITE);
setState(440);
actionBlock();
setState(441);
match(QM);
setState(442);
rewrite_alternative();
}
}
}
setState(448);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,55,_ctx);
}
setState(449);
match(REWRITE);
setState(450);
rewrite_alternative();
}
break;
case OR:
case RPAREN:
case SEMI:
enterOuterAlt(_localctx, 2);
{
}
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 Rewrite_alternativeContext extends ParserRuleContext {
public Rewrite_templateContext rewrite_template() {
return getRuleContext(Rewrite_templateContext.class,0);
}
public Rewrite_tree_alternativeContext rewrite_tree_alternative() {
return getRuleContext(Rewrite_tree_alternativeContext.class,0);
}
public Rewrite_alternativeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_rewrite_alternative; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterRewrite_alternative(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitRewrite_alternative(this);
}
}
public final Rewrite_alternativeContext rewrite_alternative() throws RecognitionException {
Rewrite_alternativeContext _localctx = new Rewrite_alternativeContext(_ctx, getState());
enterRule(_localctx, 64, RULE_rewrite_alternative);
try {
setState(457);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,57,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(454);
rewrite_template();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(455);
rewrite_tree_alternative();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Rewrite_tree_blockContext extends ParserRuleContext {
public TerminalNode LPAREN() { return getToken(ANTLRv3Parser.LPAREN, 0); }
public Rewrite_tree_alternativeContext rewrite_tree_alternative() {
return getRuleContext(Rewrite_tree_alternativeContext.class,0);
}
public TerminalNode RPAREN() { return getToken(ANTLRv3Parser.RPAREN, 0); }
public Rewrite_tree_blockContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_rewrite_tree_block; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterRewrite_tree_block(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitRewrite_tree_block(this);
}
}
public final Rewrite_tree_blockContext rewrite_tree_block() throws RecognitionException {
Rewrite_tree_blockContext _localctx = new Rewrite_tree_blockContext(_ctx, getState());
enterRule(_localctx, 66, RULE_rewrite_tree_block);
try {
enterOuterAlt(_localctx, 1);
{
setState(459);
match(LPAREN);
setState(460);
rewrite_tree_alternative();
setState(461);
match(RPAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Rewrite_tree_alternativeContext extends ParserRuleContext {
public List rewrite_tree_element() {
return getRuleContexts(Rewrite_tree_elementContext.class);
}
public Rewrite_tree_elementContext rewrite_tree_element(int i) {
return getRuleContext(Rewrite_tree_elementContext.class,i);
}
public Rewrite_tree_alternativeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_rewrite_tree_alternative; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterRewrite_tree_alternative(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitRewrite_tree_alternative(this);
}
}
public final Rewrite_tree_alternativeContext rewrite_tree_alternative() throws RecognitionException {
Rewrite_tree_alternativeContext _localctx = new Rewrite_tree_alternativeContext(_ctx, getState());
enterRule(_localctx, 68, RULE_rewrite_tree_alternative);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(464);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(463);
rewrite_tree_element();
}
}
setState(466);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( ((((_la - 34)) & ~0x3f) == 0 && ((1L << (_la - 34)) & 431017148031745L) != 0) );
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Rewrite_tree_elementContext extends ParserRuleContext {
public Rewrite_tree_atomContext rewrite_tree_atom() {
return getRuleContext(Rewrite_tree_atomContext.class,0);
}
public EbnfSuffixContext ebnfSuffix() {
return getRuleContext(EbnfSuffixContext.class,0);
}
public Rewrite_treeContext rewrite_tree() {
return getRuleContext(Rewrite_treeContext.class,0);
}
public Rewrite_tree_ebnfContext rewrite_tree_ebnf() {
return getRuleContext(Rewrite_tree_ebnfContext.class,0);
}
public Rewrite_tree_elementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_rewrite_tree_element; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterRewrite_tree_element(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitRewrite_tree_element(this);
}
}
public final Rewrite_tree_elementContext rewrite_tree_element() throws RecognitionException {
Rewrite_tree_elementContext _localctx = new Rewrite_tree_elementContext(_ctx, getState());
enterRule(_localctx, 70, RULE_rewrite_tree_element);
try {
setState(478);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,60,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(468);
rewrite_tree_atom();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(469);
rewrite_tree_atom();
setState(470);
ebnfSuffix();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(472);
rewrite_tree();
setState(475);
_errHandler.sync(this);
switch (_input.LA(1)) {
case PLUS:
case QM:
case STAR:
{
setState(473);
ebnfSuffix();
}
break;
case TREE_BEGIN:
case REWRITE:
case CHAR_LITERAL:
case STRING_LITERAL:
case BEGIN_ACTION:
case LPAREN:
case OR:
case RPAREN:
case SEMI:
case DOLLAR:
case TOKEN_REF:
case RULE_REF:
{
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(477);
rewrite_tree_ebnf();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Rewrite_tree_atomContext extends ParserRuleContext {
public TerminalNode CHAR_LITERAL() { return getToken(ANTLRv3Parser.CHAR_LITERAL, 0); }
public TerminalNode TOKEN_REF() { return getToken(ANTLRv3Parser.TOKEN_REF, 0); }
public ArgActionBlockContext argActionBlock() {
return getRuleContext(ArgActionBlockContext.class,0);
}
public TerminalNode RULE_REF() { return getToken(ANTLRv3Parser.RULE_REF, 0); }
public TerminalNode STRING_LITERAL() { return getToken(ANTLRv3Parser.STRING_LITERAL, 0); }
public TerminalNode DOLLAR() { return getToken(ANTLRv3Parser.DOLLAR, 0); }
public Id_Context id_() {
return getRuleContext(Id_Context.class,0);
}
public ActionBlockContext actionBlock() {
return getRuleContext(ActionBlockContext.class,0);
}
public Rewrite_tree_atomContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_rewrite_tree_atom; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterRewrite_tree_atom(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitRewrite_tree_atom(this);
}
}
public final Rewrite_tree_atomContext rewrite_tree_atom() throws RecognitionException {
Rewrite_tree_atomContext _localctx = new Rewrite_tree_atomContext(_ctx, getState());
enterRule(_localctx, 72, RULE_rewrite_tree_atom);
int _la;
try {
setState(490);
_errHandler.sync(this);
switch (_input.LA(1)) {
case CHAR_LITERAL:
enterOuterAlt(_localctx, 1);
{
setState(480);
match(CHAR_LITERAL);
}
break;
case TOKEN_REF:
enterOuterAlt(_localctx, 2);
{
setState(481);
match(TOKEN_REF);
setState(483);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==BEGIN_ARGUMENT) {
{
setState(482);
argActionBlock();
}
}
}
break;
case RULE_REF:
enterOuterAlt(_localctx, 3);
{
setState(485);
match(RULE_REF);
}
break;
case STRING_LITERAL:
enterOuterAlt(_localctx, 4);
{
setState(486);
match(STRING_LITERAL);
}
break;
case DOLLAR:
enterOuterAlt(_localctx, 5);
{
setState(487);
match(DOLLAR);
setState(488);
id_();
}
break;
case BEGIN_ACTION:
enterOuterAlt(_localctx, 6);
{
setState(489);
actionBlock();
}
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 Rewrite_tree_ebnfContext extends ParserRuleContext {
public Rewrite_tree_blockContext rewrite_tree_block() {
return getRuleContext(Rewrite_tree_blockContext.class,0);
}
public EbnfSuffixContext ebnfSuffix() {
return getRuleContext(EbnfSuffixContext.class,0);
}
public Rewrite_tree_ebnfContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_rewrite_tree_ebnf; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterRewrite_tree_ebnf(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitRewrite_tree_ebnf(this);
}
}
public final Rewrite_tree_ebnfContext rewrite_tree_ebnf() throws RecognitionException {
Rewrite_tree_ebnfContext _localctx = new Rewrite_tree_ebnfContext(_ctx, getState());
enterRule(_localctx, 74, RULE_rewrite_tree_ebnf);
try {
enterOuterAlt(_localctx, 1);
{
setState(492);
rewrite_tree_block();
setState(493);
ebnfSuffix();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Rewrite_treeContext extends ParserRuleContext {
public TerminalNode TREE_BEGIN() { return getToken(ANTLRv3Parser.TREE_BEGIN, 0); }
public Rewrite_tree_atomContext rewrite_tree_atom() {
return getRuleContext(Rewrite_tree_atomContext.class,0);
}
public TerminalNode RPAREN() { return getToken(ANTLRv3Parser.RPAREN, 0); }
public List rewrite_tree_element() {
return getRuleContexts(Rewrite_tree_elementContext.class);
}
public Rewrite_tree_elementContext rewrite_tree_element(int i) {
return getRuleContext(Rewrite_tree_elementContext.class,i);
}
public Rewrite_treeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_rewrite_tree; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterRewrite_tree(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitRewrite_tree(this);
}
}
public final Rewrite_treeContext rewrite_tree() throws RecognitionException {
Rewrite_treeContext _localctx = new Rewrite_treeContext(_ctx, getState());
enterRule(_localctx, 76, RULE_rewrite_tree);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(495);
match(TREE_BEGIN);
setState(496);
rewrite_tree_atom();
setState(500);
_errHandler.sync(this);
_la = _input.LA(1);
while (((((_la - 34)) & ~0x3f) == 0 && ((1L << (_la - 34)) & 431017148031745L) != 0)) {
{
{
setState(497);
rewrite_tree_element();
}
}
setState(502);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(503);
match(RPAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Rewrite_templateContext extends ParserRuleContext {
public Id_Context id_() {
return getRuleContext(Id_Context.class,0);
}
public TerminalNode LPAREN() { return getToken(ANTLRv3Parser.LPAREN, 0); }
public Rewrite_template_argsContext rewrite_template_args() {
return getRuleContext(Rewrite_template_argsContext.class,0);
}
public TerminalNode RPAREN() { return getToken(ANTLRv3Parser.RPAREN, 0); }
public TerminalNode DOUBLE_QUOTE_STRING_LITERAL() { return getToken(ANTLRv3Parser.DOUBLE_QUOTE_STRING_LITERAL, 0); }
public TerminalNode DOUBLE_ANGLE_STRING_LITERAL() { return getToken(ANTLRv3Parser.DOUBLE_ANGLE_STRING_LITERAL, 0); }
public Rewrite_template_refContext rewrite_template_ref() {
return getRuleContext(Rewrite_template_refContext.class,0);
}
public Rewrite_indirect_template_headContext rewrite_indirect_template_head() {
return getRuleContext(Rewrite_indirect_template_headContext.class,0);
}
public ActionBlockContext actionBlock() {
return getRuleContext(ActionBlockContext.class,0);
}
public Rewrite_templateContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_rewrite_template; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterRewrite_template(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitRewrite_template(this);
}
}
public final Rewrite_templateContext rewrite_template() throws RecognitionException {
Rewrite_templateContext _localctx = new Rewrite_templateContext(_ctx, getState());
enterRule(_localctx, 78, RULE_rewrite_template);
int _la;
try {
setState(514);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,64,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(505);
id_();
setState(506);
match(LPAREN);
setState(507);
rewrite_template_args();
setState(508);
match(RPAREN);
setState(509);
_la = _input.LA(1);
if ( !(_la==DOUBLE_QUOTE_STRING_LITERAL || _la==DOUBLE_ANGLE_STRING_LITERAL) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(511);
rewrite_template_ref();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(512);
rewrite_indirect_template_head();
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(513);
actionBlock();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Rewrite_template_refContext extends ParserRuleContext {
public Id_Context id_() {
return getRuleContext(Id_Context.class,0);
}
public TerminalNode LPAREN() { return getToken(ANTLRv3Parser.LPAREN, 0); }
public Rewrite_template_argsContext rewrite_template_args() {
return getRuleContext(Rewrite_template_argsContext.class,0);
}
public TerminalNode RPAREN() { return getToken(ANTLRv3Parser.RPAREN, 0); }
public Rewrite_template_refContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_rewrite_template_ref; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterRewrite_template_ref(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitRewrite_template_ref(this);
}
}
public final Rewrite_template_refContext rewrite_template_ref() throws RecognitionException {
Rewrite_template_refContext _localctx = new Rewrite_template_refContext(_ctx, getState());
enterRule(_localctx, 80, RULE_rewrite_template_ref);
try {
enterOuterAlt(_localctx, 1);
{
setState(516);
id_();
setState(517);
match(LPAREN);
setState(518);
rewrite_template_args();
setState(519);
match(RPAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Rewrite_indirect_template_headContext extends ParserRuleContext {
public List LPAREN() { return getTokens(ANTLRv3Parser.LPAREN); }
public TerminalNode LPAREN(int i) {
return getToken(ANTLRv3Parser.LPAREN, i);
}
public ActionBlockContext actionBlock() {
return getRuleContext(ActionBlockContext.class,0);
}
public List RPAREN() { return getTokens(ANTLRv3Parser.RPAREN); }
public TerminalNode RPAREN(int i) {
return getToken(ANTLRv3Parser.RPAREN, i);
}
public Rewrite_template_argsContext rewrite_template_args() {
return getRuleContext(Rewrite_template_argsContext.class,0);
}
public Rewrite_indirect_template_headContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_rewrite_indirect_template_head; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterRewrite_indirect_template_head(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitRewrite_indirect_template_head(this);
}
}
public final Rewrite_indirect_template_headContext rewrite_indirect_template_head() throws RecognitionException {
Rewrite_indirect_template_headContext _localctx = new Rewrite_indirect_template_headContext(_ctx, getState());
enterRule(_localctx, 82, RULE_rewrite_indirect_template_head);
try {
enterOuterAlt(_localctx, 1);
{
setState(521);
match(LPAREN);
setState(522);
actionBlock();
setState(523);
match(RPAREN);
setState(524);
match(LPAREN);
setState(525);
rewrite_template_args();
setState(526);
match(RPAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Rewrite_template_argsContext extends ParserRuleContext {
public List rewrite_template_arg() {
return getRuleContexts(Rewrite_template_argContext.class);
}
public Rewrite_template_argContext rewrite_template_arg(int i) {
return getRuleContext(Rewrite_template_argContext.class,i);
}
public List COMMA() { return getTokens(ANTLRv3Parser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(ANTLRv3Parser.COMMA, i);
}
public Rewrite_template_argsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_rewrite_template_args; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterRewrite_template_args(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitRewrite_template_args(this);
}
}
public final Rewrite_template_argsContext rewrite_template_args() throws RecognitionException {
Rewrite_template_argsContext _localctx = new Rewrite_template_argsContext(_ctx, getState());
enterRule(_localctx, 84, RULE_rewrite_template_args);
int _la;
try {
setState(537);
_errHandler.sync(this);
switch (_input.LA(1)) {
case TOKEN_REF:
case RULE_REF:
enterOuterAlt(_localctx, 1);
{
setState(528);
rewrite_template_arg();
setState(533);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(529);
match(COMMA);
setState(530);
rewrite_template_arg();
}
}
setState(535);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
break;
case RPAREN:
enterOuterAlt(_localctx, 2);
{
}
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 Rewrite_template_argContext extends ParserRuleContext {
public Id_Context id_() {
return getRuleContext(Id_Context.class,0);
}
public TerminalNode EQUAL() { return getToken(ANTLRv3Parser.EQUAL, 0); }
public ActionBlockContext actionBlock() {
return getRuleContext(ActionBlockContext.class,0);
}
public Rewrite_template_argContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_rewrite_template_arg; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterRewrite_template_arg(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitRewrite_template_arg(this);
}
}
public final Rewrite_template_argContext rewrite_template_arg() throws RecognitionException {
Rewrite_template_argContext _localctx = new Rewrite_template_argContext(_ctx, getState());
enterRule(_localctx, 86, RULE_rewrite_template_arg);
try {
enterOuterAlt(_localctx, 1);
{
setState(539);
id_();
setState(540);
match(EQUAL);
setState(541);
actionBlock();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Id_Context extends ParserRuleContext {
public TerminalNode TOKEN_REF() { return getToken(ANTLRv3Parser.TOKEN_REF, 0); }
public TerminalNode RULE_REF() { return getToken(ANTLRv3Parser.RULE_REF, 0); }
public Id_Context(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_id_; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).enterId_(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ANTLRv3ParserListener ) ((ANTLRv3ParserListener)listener).exitId_(this);
}
}
public final Id_Context id_() throws RecognitionException {
Id_Context _localctx = new Id_Context(_ctx, getState());
enterRule(_localctx, 88, RULE_id_);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(543);
_la = _input.LA(1);
if ( !(_la==TOKEN_REF || _la==RULE_REF) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static final String _serializedATN =
"\u0004\u0001Z\u0222\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,\u0001"+
"\u0000\u0003\u0000\\\b\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
"\u0000\u0003\u0000b\b\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
"\u0000\u0003\u0000h\b\u0000\u0001\u0000\u0003\u0000k\b\u0000\u0001\u0000"+
"\u0005\u0000n\b\u0000\n\u0000\f\u0000q\t\u0000\u0001\u0000\u0005\u0000"+
"t\b\u0000\n\u0000\f\u0000w\t\u0000\u0001\u0000\u0004\u0000z\b\u0000\u000b"+
"\u0000\f\u0000{\u0001\u0000\u0001\u0000\u0001\u0001\u0001\u0001\u0001"+
"\u0001\u0004\u0001\u0083\b\u0001\u000b\u0001\f\u0001\u0084\u0001\u0001"+
"\u0001\u0001\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0003\u0002"+
"\u008d\b\u0002\u0001\u0002\u0001\u0002\u0001\u0003\u0001\u0003\u0001\u0003"+
"\u0001\u0003\u0001\u0004\u0001\u0004\u0001\u0004\u0001\u0004\u0003\u0004"+
"\u0099\b\u0004\u0001\u0004\u0001\u0004\u0001\u0004\u0001\u0005\u0001\u0005"+
"\u0001\u0005\u0003\u0005\u00a1\b\u0005\u0001\u0006\u0001\u0006\u0001\u0006"+
"\u0005\u0006\u00a6\b\u0006\n\u0006\f\u0006\u00a9\t\u0006\u0001\u0006\u0001"+
"\u0006\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001"+
"\b\u0001\b\u0001\b\u0001\b\u0001\b\u0003\b\u00b7\b\b\u0001\t\u0003\t\u00ba"+
"\b\t\u0001\t\u0003\t\u00bd\b\t\u0001\t\u0001\t\u0003\t\u00c1\b\t\u0001"+
"\t\u0003\t\u00c4\b\t\u0001\t\u0001\t\u0003\t\u00c8\b\t\u0001\t\u0003\t"+
"\u00cb\b\t\u0001\t\u0003\t\u00ce\b\t\u0001\t\u0003\t\u00d1\b\t\u0001\t"+
"\u0005\t\u00d4\b\t\n\t\f\t\u00d7\t\t\u0001\t\u0001\t\u0001\t\u0001\t\u0003"+
"\t\u00dd\b\t\u0001\n\u0001\n\u0001\n\u0001\n\u0001\u000b\u0001\u000b\u0001"+
"\u000b\u0001\u000b\u0005\u000b\u00e7\b\u000b\n\u000b\f\u000b\u00ea\t\u000b"+
"\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0005\f\u00f2\b\f\n\f"+
"\f\f\u00f5\t\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f"+
"\u0001\f\u0005\f\u00ff\b\f\n\f\f\f\u0102\t\f\u0001\f\u0001\f\u0003\f\u0106"+
"\b\f\u0001\r\u0001\r\u0003\r\u010a\b\r\u0001\r\u0003\r\u010d\b\r\u0001"+
"\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0005\r\u0115\b\r\n\r\f\r\u0118"+
"\t\r\u0001\r\u0001\r\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001"+
"\u000e\u0001\u000e\u0005\u000e\u0122\b\u000e\n\u000e\f\u000e\u0125\t\u000e"+
"\u0001\u000f\u0004\u000f\u0128\b\u000f\u000b\u000f\f\u000f\u0129\u0001"+
"\u000f\u0003\u000f\u012d\b\u000f\u0001\u0010\u0004\u0010\u0130\b\u0010"+
"\u000b\u0010\f\u0010\u0131\u0001\u0010\u0003\u0010\u0135\b\u0010\u0001"+
"\u0010\u0003\u0010\u0138\b\u0010\u0001\u0011\u0001\u0011\u0001\u0011\u0001"+
"\u0011\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0013\u0001\u0013\u0001"+
"\u0014\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0014\u0003\u0014\u0148"+
"\b\u0014\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0014\u0003"+
"\u0014\u014f\b\u0014\u0001\u0014\u0001\u0014\u0001\u0014\u0003\u0014\u0154"+
"\b\u0014\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0014\u0001"+
"\u0014\u0003\u0014\u015c\b\u0014\u0001\u0014\u0001\u0014\u0001\u0014\u0003"+
"\u0014\u0161\b\u0014\u0003\u0014\u0163\b\u0014\u0001\u0015\u0001\u0015"+
"\u0005\u0015\u0167\b\u0015\n\u0015\f\u0015\u016a\t\u0015\u0001\u0015\u0001"+
"\u0015\u0001\u0016\u0001\u0016\u0005\u0016\u0170\b\u0016\n\u0016\f\u0016"+
"\u0173\t\u0016\u0001\u0016\u0001\u0016\u0001\u0017\u0001\u0017\u0001\u0017"+
"\u0001\u0017\u0003\u0017\u017b\b\u0017\u0001\u0017\u0001\u0017\u0001\u0017"+
"\u0001\u0017\u0001\u0017\u0003\u0017\u0182\b\u0017\u0001\u0017\u0001\u0017"+
"\u0003\u0017\u0186\b\u0017\u0001\u0017\u0003\u0017\u0189\b\u0017\u0003"+
"\u0017\u018b\b\u0017\u0001\u0018\u0001\u0018\u0001\u0018\u0003\u0018\u0190"+
"\b\u0018\u0001\u0019\u0001\u0019\u0001\u0019\u0004\u0019\u0195\b\u0019"+
"\u000b\u0019\f\u0019\u0196\u0001\u0019\u0001\u0019\u0001\u001a\u0001\u001a"+
"\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0003\u001a\u01a1\b\u001a"+
"\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001c\u0001\u001c"+
"\u0001\u001c\u0001\u001c\u0003\u001c\u01ab\b\u001c\u0001\u001c\u0001\u001c"+
"\u0003\u001c\u01af\b\u001c\u0001\u001c\u0003\u001c\u01b2\b\u001c\u0001"+
"\u001d\u0001\u001d\u0001\u001e\u0001\u001e\u0001\u001f\u0001\u001f\u0001"+
"\u001f\u0001\u001f\u0001\u001f\u0005\u001f\u01bd\b\u001f\n\u001f\f\u001f"+
"\u01c0\t\u001f\u0001\u001f\u0001\u001f\u0001\u001f\u0003\u001f\u01c5\b"+
"\u001f\u0001 \u0001 \u0001 \u0003 \u01ca\b \u0001!\u0001!\u0001!\u0001"+
"!\u0001\"\u0004\"\u01d1\b\"\u000b\"\f\"\u01d2\u0001#\u0001#\u0001#\u0001"+
"#\u0001#\u0001#\u0001#\u0003#\u01dc\b#\u0001#\u0003#\u01df\b#\u0001$\u0001"+
"$\u0001$\u0003$\u01e4\b$\u0001$\u0001$\u0001$\u0001$\u0001$\u0003$\u01eb"+
"\b$\u0001%\u0001%\u0001%\u0001&\u0001&\u0001&\u0005&\u01f3\b&\n&\f&\u01f6"+
"\t&\u0001&\u0001&\u0001\'\u0001\'\u0001\'\u0001\'\u0001\'\u0001\'\u0001"+
"\'\u0001\'\u0001\'\u0003\'\u0203\b\'\u0001(\u0001(\u0001(\u0001(\u0001"+
"(\u0001)\u0001)\u0001)\u0001)\u0001)\u0001)\u0001)\u0001*\u0001*\u0001"+
"*\u0005*\u0214\b*\n*\f*\u0217\t*\u0001*\u0003*\u021a\b*\u0001+\u0001+"+
"\u0001+\u0001+\u0001,\u0001,\u0001,\u0000\u0000-\u0000\u0002\u0004\u0006"+
"\b\n\f\u000e\u0010\u0012\u0014\u0016\u0018\u001a\u001c\u001e \"$&(*,."+
"02468:<>@BDFHJLNPRTVX\u0000\b\u0001\u0000*+\u0002\u0000!!57\u0002\u0000"+
"@@NN\u0001\u0000#$\u0002\u0000*+QQ\u0002\u0000EFLL\u0001\u0000,-\u0001"+
"\u0000QR\u0255\u0000[\u0001\u0000\u0000\u0000\u0002\u007f\u0001\u0000"+
"\u0000\u0000\u0004\u0088\u0001\u0000\u0000\u0000\u0006\u0090\u0001\u0000"+
"\u0000\u0000\b\u0094\u0001\u0000\u0000\u0000\n\u00a0\u0001\u0000\u0000"+
"\u0000\f\u00a2\u0001\u0000\u0000\u0000\u000e\u00ac\u0001\u0000\u0000\u0000"+
"\u0010\u00b6\u0001\u0000\u0000\u0000\u0012\u00b9\u0001\u0000\u0000\u0000"+
"\u0014\u00de\u0001\u0000\u0000\u0000\u0016\u00e2\u0001\u0000\u0000\u0000"+
"\u0018\u0105\u0001\u0000\u0000\u0000\u001a\u0107\u0001\u0000\u0000\u0000"+
"\u001c\u011b\u0001\u0000\u0000\u0000\u001e\u012c\u0001\u0000\u0000\u0000"+
" \u0137\u0001\u0000\u0000\u0000\"\u0139\u0001\u0000\u0000\u0000$\u013d"+
"\u0001\u0000\u0000\u0000&\u0140\u0001\u0000\u0000\u0000(\u0162\u0001\u0000"+
"\u0000\u0000*\u0164\u0001\u0000\u0000\u0000,\u016d\u0001\u0000\u0000\u0000"+
".\u018a\u0001\u0000\u0000\u00000\u018c\u0001\u0000\u0000\u00002\u0191"+
"\u0001\u0000\u0000\u00004\u019a\u0001\u0000\u0000\u00006\u01a2\u0001\u0000"+
"\u0000\u00008\u01ae\u0001\u0000\u0000\u0000:\u01b3\u0001\u0000\u0000\u0000"+
"<\u01b5\u0001\u0000\u0000\u0000>\u01c4\u0001\u0000\u0000\u0000@\u01c9"+
"\u0001\u0000\u0000\u0000B\u01cb\u0001\u0000\u0000\u0000D\u01d0\u0001\u0000"+
"\u0000\u0000F\u01de\u0001\u0000\u0000\u0000H\u01ea\u0001\u0000\u0000\u0000"+
"J\u01ec\u0001\u0000\u0000\u0000L\u01ef\u0001\u0000\u0000\u0000N\u0202"+
"\u0001\u0000\u0000\u0000P\u0204\u0001\u0000\u0000\u0000R\u0209\u0001\u0000"+
"\u0000\u0000T\u0219\u0001\u0000\u0000\u0000V\u021b\u0001\u0000\u0000\u0000"+
"X\u021f\u0001\u0000\u0000\u0000Z\\\u0005\u0001\u0000\u0000[Z\u0001\u0000"+
"\u0000\u0000[\\\u0001\u0000\u0000\u0000\\a\u0001\u0000\u0000\u0000]b\u0005"+
"\u0003\u0000\u0000^b\u0005\u0002\u0000\u0000_b\u0005:\u0000\u0000`b\u0001"+
"\u0000\u0000\u0000a]\u0001\u0000\u0000\u0000a^\u0001\u0000\u0000\u0000"+
"a_\u0001\u0000\u0000\u0000a`\u0001\u0000\u0000\u0000bc\u0001\u0000\u0000"+
"\u0000cd\u00054\u0000\u0000de\u0003X,\u0000eg\u0005J\u0000\u0000fh\u0003"+
"\f\u0006\u0000gf\u0001\u0000\u0000\u0000gh\u0001\u0000\u0000\u0000hj\u0001"+
"\u0000\u0000\u0000ik\u0003\u0002\u0001\u0000ji\u0001\u0000\u0000\u0000"+
"jk\u0001\u0000\u0000\u0000ko\u0001\u0000\u0000\u0000ln\u0003\u0006\u0003"+
"\u0000ml\u0001\u0000\u0000\u0000nq\u0001\u0000\u0000\u0000om\u0001\u0000"+
"\u0000\u0000op\u0001\u0000\u0000\u0000pu\u0001\u0000\u0000\u0000qo\u0001"+
"\u0000\u0000\u0000rt\u0003\b\u0004\u0000sr\u0001\u0000\u0000\u0000tw\u0001"+
"\u0000\u0000\u0000us\u0001\u0000\u0000\u0000uv\u0001\u0000\u0000\u0000"+
"vy\u0001\u0000\u0000\u0000wu\u0001\u0000\u0000\u0000xz\u0003\u0012\t\u0000"+
"yx\u0001\u0000\u0000\u0000z{\u0001\u0000\u0000\u0000{y\u0001\u0000\u0000"+
"\u0000{|\u0001\u0000\u0000\u0000|}\u0001\u0000\u0000\u0000}~\u0005\u0000"+
"\u0000\u0001~\u0001\u0001\u0000\u0000\u0000\u007f\u0080\u00051\u0000\u0000"+
"\u0080\u0082\u0005A\u0000\u0000\u0081\u0083\u0003\u0004\u0002\u0000\u0082"+
"\u0081\u0001\u0000\u0000\u0000\u0083\u0084\u0001\u0000\u0000\u0000\u0084"+
"\u0082\u0001\u0000\u0000\u0000\u0084\u0085\u0001\u0000\u0000\u0000\u0085"+
"\u0086\u0001\u0000\u0000\u0000\u0086\u0087\u0005G\u0000\u0000\u0087\u0003"+
"\u0001\u0000\u0000\u0000\u0088\u008c\u0005Q\u0000\u0000\u0089\u008a\u0005"+
"@\u0000\u0000\u008a\u008d\u0007\u0000\u0000\u0000\u008b\u008d\u0001\u0000"+
"\u0000\u0000\u008c\u0089\u0001\u0000\u0000\u0000\u008c\u008b\u0001\u0000"+
"\u0000\u0000\u008d\u008e\u0001\u0000\u0000\u0000\u008e\u008f\u0005J\u0000"+
"\u0000\u008f\u0005\u0001\u0000\u0000\u0000\u0090\u0091\u0005\u001c\u0000"+
"\u0000\u0091\u0092\u0003X,\u0000\u0092\u0093\u0003*\u0015\u0000\u0093"+
"\u0007\u0001\u0000\u0000\u0000\u0094\u0098\u0005;\u0000\u0000\u0095\u0096"+
"\u0003\n\u0005\u0000\u0096\u0097\u0005=\u0000\u0000\u0097\u0099\u0001"+
"\u0000\u0000\u0000\u0098\u0095\u0001\u0000\u0000\u0000\u0098\u0099\u0001"+
"\u0000\u0000\u0000\u0099\u009a\u0001\u0000\u0000\u0000\u009a\u009b\u0003"+
"X,\u0000\u009b\u009c\u0003*\u0015\u0000\u009c\t\u0001\u0000\u0000\u0000"+
"\u009d\u00a1\u0003X,\u0000\u009e\u00a1\u0005\u0003\u0000\u0000\u009f\u00a1"+
"\u0005\u0002\u0000\u0000\u00a0\u009d\u0001\u0000\u0000\u0000\u00a0\u009e"+
"\u0001\u0000\u0000\u0000\u00a0\u009f\u0001\u0000\u0000\u0000\u00a1\u000b"+
"\u0001\u0000\u0000\u0000\u00a2\u00a3\u00050\u0000\u0000\u00a3\u00a7\u0005"+
"A\u0000\u0000\u00a4\u00a6\u0003\u000e\u0007\u0000\u00a5\u00a4\u0001\u0000"+
"\u0000\u0000\u00a6\u00a9\u0001\u0000\u0000\u0000\u00a7\u00a5\u0001\u0000"+
"\u0000\u0000\u00a7\u00a8\u0001\u0000\u0000\u0000\u00a8\u00aa\u0001\u0000"+
"\u0000\u0000\u00a9\u00a7\u0001\u0000\u0000\u0000\u00aa\u00ab\u0005G\u0000"+
"\u0000\u00ab\r\u0001\u0000\u0000\u0000\u00ac\u00ad\u0003X,\u0000\u00ad"+
"\u00ae\u0005@\u0000\u0000\u00ae\u00af\u0003\u0010\b\u0000\u00af\u00b0"+
"\u0005J\u0000\u0000\u00b0\u000f\u0001\u0000\u0000\u0000\u00b1\u00b7\u0003"+
"X,\u0000\u00b2\u00b7\u0005+\u0000\u0000\u00b3\u00b7\u0005*\u0000\u0000"+
"\u00b4\u00b7\u0005)\u0000\u0000\u00b5\u00b7\u0005L\u0000\u0000\u00b6\u00b1"+
"\u0001\u0000\u0000\u0000\u00b6\u00b2\u0001\u0000\u0000\u0000\u00b6\u00b3"+
"\u0001\u0000\u0000\u0000\u00b6\u00b4\u0001\u0000\u0000\u0000\u00b6\u00b5"+
"\u0001\u0000\u0000\u0000\u00b7\u0011\u0001\u0000\u0000\u0000\u00b8\u00ba"+
"\u0005\u0001\u0000\u0000\u00b9\u00b8\u0001\u0000\u0000\u0000\u00b9\u00ba"+
"\u0001\u0000\u0000\u0000\u00ba\u00bc\u0001\u0000\u0000\u0000\u00bb\u00bd"+
"\u0007\u0001\u0000\u0000\u00bc\u00bb\u0001\u0000\u0000\u0000\u00bc\u00bd"+
"\u0001\u0000\u0000\u0000\u00bd\u00be\u0001\u0000\u0000\u0000\u00be\u00c0"+
"\u0003X,\u0000\u00bf\u00c1\u0005$\u0000\u0000\u00c0\u00bf\u0001\u0000"+
"\u0000\u0000\u00c0\u00c1\u0001\u0000\u0000\u0000\u00c1\u00c3\u0001\u0000"+
"\u0000\u0000\u00c2\u00c4\u0003,\u0016\u0000\u00c3\u00c2\u0001\u0000\u0000"+
"\u0000\u00c3\u00c4\u0001\u0000\u0000\u0000\u00c4\u00c7\u0001\u0000\u0000"+
"\u0000\u00c5\u00c6\u00058\u0000\u0000\u00c6\u00c8\u0003,\u0016\u0000\u00c7"+
"\u00c5\u0001\u0000\u0000\u0000\u00c7\u00c8\u0001\u0000\u0000\u0000\u00c8"+
"\u00ca\u0001\u0000\u0000\u0000\u00c9\u00cb\u0003\u0016\u000b\u0000\u00ca"+
"\u00c9\u0001\u0000\u0000\u0000\u00ca\u00cb\u0001\u0000\u0000\u0000\u00cb"+
"\u00cd\u0001\u0000\u0000\u0000\u00cc\u00ce\u0003\f\u0006\u0000\u00cd\u00cc"+
"\u0001\u0000\u0000\u0000\u00cd\u00ce\u0001\u0000\u0000\u0000\u00ce\u00d0"+
"\u0001\u0000\u0000\u0000\u00cf\u00d1\u0003\u0018\f\u0000\u00d0\u00cf\u0001"+
"\u0000\u0000\u0000\u00d0\u00d1\u0001\u0000\u0000\u0000\u00d1\u00d5\u0001"+
"\u0000\u0000\u0000\u00d2\u00d4\u0003\u0014\n\u0000\u00d3\u00d2\u0001\u0000"+
"\u0000\u0000\u00d4\u00d7\u0001\u0000\u0000\u0000\u00d5\u00d3\u0001\u0000"+
"\u0000\u0000\u00d5\u00d6\u0001\u0000\u0000\u0000\u00d6\u00d8\u0001\u0000"+
"\u0000\u0000\u00d7\u00d5\u0001\u0000\u0000\u0000\u00d8\u00d9\u0005<\u0000"+
"\u0000\u00d9\u00da\u0003\u001c\u000e\u0000\u00da\u00dc\u0005J\u0000\u0000"+
"\u00db\u00dd\u0003 \u0010\u0000\u00dc\u00db\u0001\u0000\u0000\u0000\u00dc"+
"\u00dd\u0001\u0000\u0000\u0000\u00dd\u0013\u0001\u0000\u0000\u0000\u00de"+
"\u00df\u0005;\u0000\u0000\u00df\u00e0\u0003X,\u0000\u00e0\u00e1\u0003"+
"*\u0015\u0000\u00e1\u0015\u0001\u0000\u0000\u0000\u00e2\u00e3\u00059\u0000"+
"\u0000\u00e3\u00e8\u0003X,\u0000\u00e4\u00e5\u0005>\u0000\u0000\u00e5"+
"\u00e7\u0003X,\u0000\u00e6\u00e4\u0001\u0000\u0000\u0000\u00e7\u00ea\u0001"+
"\u0000\u0000\u0000\u00e8\u00e6\u0001\u0000\u0000\u0000\u00e8\u00e9\u0001"+
"\u0000\u0000\u0000\u00e9\u0017\u0001\u0000\u0000\u0000\u00ea\u00e8\u0001"+
"\u0000\u0000\u0000\u00eb\u00ec\u0005\u001c\u0000\u0000\u00ec\u0106\u0003"+
"*\u0015\u0000\u00ed\u00ee\u0005\u001c\u0000\u0000\u00ee\u00f3\u0003X,"+
"\u0000\u00ef\u00f0\u0005>\u0000\u0000\u00f0\u00f2\u0003X,\u0000\u00f1"+
"\u00ef\u0001\u0000\u0000\u0000\u00f2\u00f5\u0001\u0000\u0000\u0000\u00f3"+
"\u00f1\u0001\u0000\u0000\u0000\u00f3\u00f4\u0001\u0000\u0000\u0000\u00f4"+
"\u00f6\u0001\u0000\u0000\u0000\u00f5\u00f3\u0001\u0000\u0000\u0000\u00f6"+
"\u00f7\u0005J\u0000\u0000\u00f7\u0106\u0001\u0000\u0000\u0000\u00f8\u00f9"+
"\u0005\u001c\u0000\u0000\u00f9\u00fa\u0003*\u0015\u0000\u00fa\u00fb\u0005"+
"\u001c\u0000\u0000\u00fb\u0100\u0003X,\u0000\u00fc\u00fd\u0005>\u0000"+
"\u0000\u00fd\u00ff\u0003X,\u0000\u00fe\u00fc\u0001\u0000\u0000\u0000\u00ff"+
"\u0102\u0001\u0000\u0000\u0000\u0100\u00fe\u0001\u0000\u0000\u0000\u0100"+
"\u0101\u0001\u0000\u0000\u0000\u0101\u0103\u0001\u0000\u0000\u0000\u0102"+
"\u0100\u0001\u0000\u0000\u0000\u0103\u0104\u0005J\u0000\u0000\u0104\u0106"+
"\u0001\u0000\u0000\u0000\u0105\u00eb\u0001\u0000\u0000\u0000\u0105\u00ed"+
"\u0001\u0000\u0000\u0000\u0105\u00f8\u0001\u0000\u0000\u0000\u0106\u0019"+
"\u0001\u0000\u0000\u0000\u0107\u010c\u0005C\u0000\u0000\u0108\u010a\u0003"+
"\f\u0006\u0000\u0109\u0108\u0001\u0000\u0000\u0000\u0109\u010a\u0001\u0000"+
"\u0000\u0000\u010a\u010b\u0001\u0000\u0000\u0000\u010b\u010d\u0005<\u0000"+
"\u0000\u010c\u0109\u0001\u0000\u0000\u0000\u010c\u010d\u0001\u0000\u0000"+
"\u0000\u010d\u010e\u0001\u0000\u0000\u0000\u010e\u010f\u0003\u001e\u000f"+
"\u0000\u010f\u0116\u0003>\u001f\u0000\u0110\u0111\u0005D\u0000\u0000\u0111"+
"\u0112\u0003\u001e\u000f\u0000\u0112\u0113\u0003>\u001f\u0000\u0113\u0115"+
"\u0001\u0000\u0000\u0000\u0114\u0110\u0001\u0000\u0000\u0000\u0115\u0118"+
"\u0001\u0000\u0000\u0000\u0116\u0114\u0001\u0000\u0000\u0000\u0116\u0117"+
"\u0001\u0000\u0000\u0000\u0117\u0119\u0001\u0000\u0000\u0000\u0118\u0116"+
"\u0001\u0000\u0000\u0000\u0119\u011a\u0005I\u0000\u0000\u011a\u001b\u0001"+
"\u0000\u0000\u0000\u011b\u011c\u0003\u001e\u000f\u0000\u011c\u0123\u0003"+
">\u001f\u0000\u011d\u011e\u0005D\u0000\u0000\u011e\u011f\u0003\u001e\u000f"+
"\u0000\u011f\u0120\u0003>\u001f\u0000\u0120\u0122\u0001\u0000\u0000\u0000"+
"\u0121\u011d\u0001\u0000\u0000\u0000\u0122\u0125\u0001\u0000\u0000\u0000"+
"\u0123\u0121\u0001\u0000\u0000\u0000\u0123\u0124\u0001\u0000\u0000\u0000"+
"\u0124\u001d\u0001\u0000\u0000\u0000\u0125\u0123\u0001\u0000\u0000\u0000"+
"\u0126\u0128\u0003&\u0013\u0000\u0127\u0126\u0001\u0000\u0000\u0000\u0128"+
"\u0129\u0001\u0000\u0000\u0000\u0129\u0127\u0001\u0000\u0000\u0000\u0129"+
"\u012a\u0001\u0000\u0000\u0000\u012a\u012d\u0001\u0000\u0000\u0000\u012b"+
"\u012d\u0001\u0000\u0000\u0000\u012c\u0127\u0001\u0000\u0000\u0000\u012c"+
"\u012b\u0001\u0000\u0000\u0000\u012d\u001f\u0001\u0000\u0000\u0000\u012e"+
"\u0130\u0003\"\u0011\u0000\u012f\u012e\u0001\u0000\u0000\u0000\u0130\u0131"+
"\u0001\u0000\u0000\u0000\u0131\u012f\u0001\u0000\u0000\u0000\u0131\u0132"+
"\u0001\u0000\u0000\u0000\u0132\u0134\u0001\u0000\u0000\u0000\u0133\u0135"+
"\u0003$\u0012\u0000\u0134\u0133\u0001\u0000\u0000\u0000\u0134\u0135\u0001"+
"\u0000\u0000\u0000\u0135\u0138\u0001\u0000\u0000\u0000\u0136\u0138\u0003"+
"$\u0012\u0000\u0137\u012f\u0001\u0000\u0000\u0000\u0137\u0136\u0001\u0000"+
"\u0000\u0000\u0138!\u0001\u0000\u0000\u0000\u0139\u013a\u00052\u0000\u0000"+
"\u013a\u013b\u0003,\u0016\u0000\u013b\u013c\u0003*\u0015\u0000\u013c#"+
"\u0001\u0000\u0000\u0000\u013d\u013e\u00053\u0000\u0000\u013e\u013f\u0003"+
"*\u0015\u0000\u013f%\u0001\u0000\u0000\u0000\u0140\u0141\u0003(\u0014"+
"\u0000\u0141\'\u0001\u0000\u0000\u0000\u0142\u0143\u0003X,\u0000\u0143"+
"\u0144\u0007\u0002\u0000\u0000\u0144\u0147\u0003.\u0017\u0000\u0145\u0148"+
"\u0003<\u001e\u0000\u0146\u0148\u0001\u0000\u0000\u0000\u0147\u0145\u0001"+
"\u0000\u0000\u0000\u0147\u0146\u0001\u0000\u0000\u0000\u0148\u0163\u0001"+
"\u0000\u0000\u0000\u0149\u014a\u0003X,\u0000\u014a\u014b\u0007\u0002\u0000"+
"\u0000\u014b\u014e\u0003\u001a\r\u0000\u014c\u014f\u0003<\u001e\u0000"+
"\u014d\u014f\u0001\u0000\u0000\u0000\u014e\u014c\u0001\u0000\u0000\u0000"+
"\u014e\u014d\u0001\u0000\u0000\u0000\u014f\u0163\u0001\u0000\u0000\u0000"+
"\u0150\u0153\u0003.\u0017\u0000\u0151\u0154\u0003<\u001e\u0000\u0152\u0154"+
"\u0001\u0000\u0000\u0000\u0153\u0151\u0001\u0000\u0000\u0000\u0153\u0152"+
"\u0001\u0000\u0000\u0000\u0154\u0163\u0001\u0000\u0000\u0000\u0155\u0163"+
"\u00034\u001a\u0000\u0156\u0163\u0003*\u0015\u0000\u0157\u0158\u0003*"+
"\u0015\u0000\u0158\u015b\u0005F\u0000\u0000\u0159\u015c\u0005K\u0000\u0000"+
"\u015a\u015c\u0001\u0000\u0000\u0000\u015b\u0159\u0001\u0000\u0000\u0000"+
"\u015b\u015a\u0001\u0000\u0000\u0000\u015c\u0163\u0001\u0000\u0000\u0000"+
"\u015d\u0160\u00032\u0019\u0000\u015e\u0161\u0003<\u001e\u0000\u015f\u0161"+
"\u0001\u0000\u0000\u0000\u0160\u015e\u0001\u0000\u0000\u0000\u0160\u015f"+
"\u0001\u0000\u0000\u0000\u0161\u0163\u0001\u0000\u0000\u0000\u0162\u0142"+
"\u0001\u0000\u0000\u0000\u0162\u0149\u0001\u0000\u0000\u0000\u0162\u0150"+
"\u0001\u0000\u0000\u0000\u0162\u0155\u0001\u0000\u0000\u0000\u0162\u0156"+
"\u0001\u0000\u0000\u0000\u0162\u0157\u0001\u0000\u0000\u0000\u0162\u015d"+
"\u0001\u0000\u0000\u0000\u0163)\u0001\u0000\u0000\u0000\u0164\u0168\u0005"+
"/\u0000\u0000\u0165\u0167\u0005&\u0000\u0000\u0166\u0165\u0001\u0000\u0000"+
"\u0000\u0167\u016a\u0001\u0000\u0000\u0000\u0168\u0166\u0001\u0000\u0000"+
"\u0000\u0168\u0169\u0001\u0000\u0000\u0000\u0169\u016b\u0001\u0000\u0000"+
"\u0000\u016a\u0168\u0001\u0000\u0000\u0000\u016b\u016c\u0005V\u0000\u0000"+
"\u016c+\u0001\u0000\u0000\u0000\u016d\u0171\u0005.\u0000\u0000\u016e\u0170"+
"\u0005U\u0000\u0000\u016f\u016e\u0001\u0000\u0000\u0000\u0170\u0173\u0001"+
"\u0000\u0000\u0000\u0171\u016f\u0001\u0000\u0000\u0000\u0171\u0172\u0001"+
"\u0000\u0000\u0000\u0172\u0174\u0001\u0000\u0000\u0000\u0173\u0171\u0001"+
"\u0000\u0000\u0000\u0174\u0175\u0005S\u0000\u0000\u0175-\u0001\u0000\u0000"+
"\u0000\u0176\u017a\u00036\u001b\u0000\u0177\u017b\u0005#\u0000\u0000\u0178"+
"\u017b\u0005$\u0000\u0000\u0179\u017b\u0001\u0000\u0000\u0000\u017a\u0177"+
"\u0001\u0000\u0000\u0000\u017a\u0178\u0001\u0000\u0000\u0000\u017a\u0179"+
"\u0001\u0000\u0000\u0000\u017b\u018b\u0001\u0000\u0000\u0000\u017c\u018b"+
"\u00038\u001c\u0000\u017d\u0181\u00030\u0018\u0000\u017e\u0182\u0005#"+
"\u0000\u0000\u017f\u0182\u0005$\u0000\u0000\u0180\u0182\u0001\u0000\u0000"+
"\u0000\u0181\u017e\u0001\u0000\u0000\u0000\u0181\u017f\u0001\u0000\u0000"+
"\u0000\u0181\u0180\u0001\u0000\u0000\u0000\u0182\u018b\u0001\u0000\u0000"+
"\u0000\u0183\u0185\u0005R\u0000\u0000\u0184\u0186\u0003,\u0016\u0000\u0185"+
"\u0184\u0001\u0000\u0000\u0000\u0185\u0186\u0001\u0000\u0000\u0000\u0186"+
"\u0188\u0001\u0000\u0000\u0000\u0187\u0189\u0007\u0003\u0000\u0000\u0188"+
"\u0187\u0001\u0000\u0000\u0000\u0188\u0189\u0001\u0000\u0000\u0000\u0189"+
"\u018b\u0001\u0000\u0000\u0000\u018a\u0176\u0001\u0000\u0000\u0000\u018a"+
"\u017c\u0001\u0000\u0000\u0000\u018a\u017d\u0001\u0000\u0000\u0000\u018a"+
"\u0183\u0001\u0000\u0000\u0000\u018b/\u0001\u0000\u0000\u0000\u018c\u018f"+
"\u0005O\u0000\u0000\u018d\u0190\u0003:\u001d\u0000\u018e\u0190\u0003\u001a"+
"\r\u0000\u018f\u018d\u0001\u0000\u0000\u0000\u018f\u018e\u0001\u0000\u0000"+
"\u0000\u01901\u0001\u0000\u0000\u0000\u0191\u0192\u0005\"\u0000\u0000"+
"\u0192\u0194\u0003&\u0013\u0000\u0193\u0195\u0003&\u0013\u0000\u0194\u0193"+
"\u0001\u0000\u0000\u0000\u0195\u0196\u0001\u0000\u0000\u0000\u0196\u0194"+
"\u0001\u0000\u0000\u0000\u0196\u0197\u0001\u0000\u0000\u0000\u0197\u0198"+
"\u0001\u0000\u0000\u0000\u0198\u0199\u0005I\u0000\u0000\u01993\u0001\u0000"+
"\u0000\u0000\u019a\u01a0\u0003\u001a\r\u0000\u019b\u01a1\u0005F\u0000"+
"\u0000\u019c\u01a1\u0005L\u0000\u0000\u019d\u01a1\u0005E\u0000\u0000\u019e"+
"\u01a1\u0005K\u0000\u0000\u019f\u01a1\u0001\u0000\u0000\u0000\u01a0\u019b"+
"\u0001\u0000\u0000\u0000\u01a0\u019c\u0001\u0000\u0000\u0000\u01a0\u019d"+
"\u0001\u0000\u0000\u0000\u01a0\u019e\u0001\u0000\u0000\u0000\u01a0\u019f"+
"\u0001\u0000\u0000\u0000\u01a15\u0001\u0000\u0000\u0000\u01a2\u01a3\u0005"+
"*\u0000\u0000\u01a3\u01a4\u0005\n\u0000\u0000\u01a4\u01a5\u0005*\u0000"+
"\u0000\u01a57\u0001\u0000\u0000\u0000\u01a6\u01af\u0005*\u0000\u0000\u01a7"+
"\u01aa\u0005Q\u0000\u0000\u01a8\u01ab\u0003,\u0016\u0000\u01a9\u01ab\u0001"+
"\u0000\u0000\u0000\u01aa\u01a8\u0001\u0000\u0000\u0000\u01aa\u01a9\u0001"+
"\u0000\u0000\u0000\u01ab\u01af\u0001\u0000\u0000\u0000\u01ac\u01af\u0005"+
"+\u0000\u0000\u01ad\u01af\u0005?\u0000\u0000\u01ae\u01a6\u0001\u0000\u0000"+
"\u0000\u01ae\u01a7\u0001\u0000\u0000\u0000\u01ae\u01ac\u0001\u0000\u0000"+
"\u0000\u01ae\u01ad\u0001\u0000\u0000\u0000\u01af\u01b1\u0001\u0000\u0000"+
"\u0000\u01b0\u01b2\u0007\u0003\u0000\u0000\u01b1\u01b0\u0001\u0000\u0000"+
"\u0000\u01b1\u01b2\u0001\u0000\u0000\u0000\u01b29\u0001\u0000\u0000\u0000"+
"\u01b3\u01b4\u0007\u0004\u0000\u0000\u01b4;\u0001\u0000\u0000\u0000\u01b5"+
"\u01b6\u0007\u0005\u0000\u0000\u01b6=\u0001\u0000\u0000\u0000\u01b7\u01b8"+
"\u0005%\u0000\u0000\u01b8\u01b9\u0003*\u0015\u0000\u01b9\u01ba\u0005F"+
"\u0000\u0000\u01ba\u01bb\u0003@ \u0000\u01bb\u01bd\u0001\u0000\u0000\u0000"+
"\u01bc\u01b7\u0001\u0000\u0000\u0000\u01bd\u01c0\u0001\u0000\u0000\u0000"+
"\u01be\u01bc\u0001\u0000\u0000\u0000\u01be\u01bf\u0001\u0000\u0000\u0000"+
"\u01bf\u01c1\u0001\u0000\u0000\u0000\u01c0\u01be\u0001\u0000\u0000\u0000"+
"\u01c1\u01c2\u0005%\u0000\u0000\u01c2\u01c5\u0003@ \u0000\u01c3\u01c5"+
"\u0001\u0000\u0000\u0000\u01c4\u01be\u0001\u0000\u0000\u0000\u01c4\u01c3"+
"\u0001\u0000\u0000\u0000\u01c5?\u0001\u0000\u0000\u0000\u01c6\u01ca\u0003"+
"N\'\u0000\u01c7\u01ca\u0003D\"\u0000\u01c8\u01ca\u0001\u0000\u0000\u0000"+
"\u01c9\u01c6\u0001\u0000\u0000\u0000\u01c9\u01c7\u0001\u0000\u0000\u0000"+
"\u01c9\u01c8\u0001\u0000\u0000\u0000\u01caA\u0001\u0000\u0000\u0000\u01cb"+
"\u01cc\u0005C\u0000\u0000\u01cc\u01cd\u0003D\"\u0000\u01cd\u01ce\u0005"+
"I\u0000\u0000\u01ceC\u0001\u0000\u0000\u0000\u01cf\u01d1\u0003F#\u0000"+
"\u01d0\u01cf\u0001\u0000\u0000\u0000\u01d1\u01d2\u0001\u0000\u0000\u0000"+
"\u01d2\u01d0\u0001\u0000\u0000\u0000\u01d2\u01d3\u0001\u0000\u0000\u0000"+
"\u01d3E\u0001\u0000\u0000\u0000\u01d4\u01df\u0003H$\u0000\u01d5\u01d6"+
"\u0003H$\u0000\u01d6\u01d7\u0003<\u001e\u0000\u01d7\u01df\u0001\u0000"+
"\u0000\u0000\u01d8\u01db\u0003L&\u0000\u01d9\u01dc\u0003<\u001e\u0000"+
"\u01da\u01dc\u0001\u0000\u0000\u0000\u01db\u01d9\u0001\u0000\u0000\u0000"+
"\u01db\u01da\u0001\u0000\u0000\u0000\u01dc\u01df\u0001\u0000\u0000\u0000"+
"\u01dd\u01df\u0003J%\u0000\u01de\u01d4\u0001\u0000\u0000\u0000\u01de\u01d5"+
"\u0001\u0000\u0000\u0000\u01de\u01d8\u0001\u0000\u0000\u0000\u01de\u01dd"+
"\u0001\u0000\u0000\u0000\u01dfG\u0001\u0000\u0000\u0000\u01e0\u01eb\u0005"+
"*\u0000\u0000\u01e1\u01e3\u0005Q\u0000\u0000\u01e2\u01e4\u0003,\u0016"+
"\u0000\u01e3\u01e2\u0001\u0000\u0000\u0000\u01e3\u01e4\u0001\u0000\u0000"+
"\u0000\u01e4\u01eb\u0001\u0000\u0000\u0000\u01e5\u01eb\u0005R\u0000\u0000"+
"\u01e6\u01eb\u0005+\u0000\u0000\u01e7\u01e8\u0005M\u0000\u0000\u01e8\u01eb"+
"\u0003X,\u0000\u01e9\u01eb\u0003*\u0015\u0000\u01ea\u01e0\u0001\u0000"+
"\u0000\u0000\u01ea\u01e1\u0001\u0000\u0000\u0000\u01ea\u01e5\u0001\u0000"+
"\u0000\u0000\u01ea\u01e6\u0001\u0000\u0000\u0000\u01ea\u01e7\u0001\u0000"+
"\u0000\u0000\u01ea\u01e9\u0001\u0000\u0000\u0000\u01ebI\u0001\u0000\u0000"+
"\u0000\u01ec\u01ed\u0003B!\u0000\u01ed\u01ee\u0003<\u001e\u0000\u01ee"+
"K\u0001\u0000\u0000\u0000\u01ef\u01f0\u0005\"\u0000\u0000\u01f0\u01f4"+
"\u0003H$\u0000\u01f1\u01f3\u0003F#\u0000\u01f2\u01f1\u0001\u0000\u0000"+
"\u0000\u01f3\u01f6\u0001\u0000\u0000\u0000\u01f4\u01f2\u0001\u0000\u0000"+
"\u0000\u01f4\u01f5\u0001\u0000\u0000\u0000\u01f5\u01f7\u0001\u0000\u0000"+
"\u0000\u01f6\u01f4\u0001\u0000\u0000\u0000\u01f7\u01f8\u0005I\u0000\u0000"+
"\u01f8M\u0001\u0000\u0000\u0000\u01f9\u01fa\u0003X,\u0000\u01fa\u01fb"+
"\u0005C\u0000\u0000\u01fb\u01fc\u0003T*\u0000\u01fc\u01fd\u0005I\u0000"+
"\u0000\u01fd\u01fe\u0007\u0006\u0000\u0000\u01fe\u0203\u0001\u0000\u0000"+
"\u0000\u01ff\u0203\u0003P(\u0000\u0200\u0203\u0003R)\u0000\u0201\u0203"+
"\u0003*\u0015\u0000\u0202\u01f9\u0001\u0000\u0000\u0000\u0202\u01ff\u0001"+
"\u0000\u0000\u0000\u0202\u0200\u0001\u0000\u0000\u0000\u0202\u0201\u0001"+
"\u0000\u0000\u0000\u0203O\u0001\u0000\u0000\u0000\u0204\u0205\u0003X,"+
"\u0000\u0205\u0206\u0005C\u0000\u0000\u0206\u0207\u0003T*\u0000\u0207"+
"\u0208\u0005I\u0000\u0000\u0208Q\u0001\u0000\u0000\u0000\u0209\u020a\u0005"+
"C\u0000\u0000\u020a\u020b\u0003*\u0015\u0000\u020b\u020c\u0005I\u0000"+
"\u0000\u020c\u020d\u0005C\u0000\u0000\u020d\u020e\u0003T*\u0000\u020e"+
"\u020f\u0005I\u0000\u0000\u020fS\u0001\u0000\u0000\u0000\u0210\u0215\u0003"+
"V+\u0000\u0211\u0212\u0005>\u0000\u0000\u0212\u0214\u0003V+\u0000\u0213"+
"\u0211\u0001\u0000\u0000\u0000\u0214\u0217\u0001\u0000\u0000\u0000\u0215"+
"\u0213\u0001\u0000\u0000\u0000\u0215\u0216\u0001\u0000\u0000\u0000\u0216"+
"\u021a\u0001\u0000\u0000\u0000\u0217\u0215\u0001\u0000\u0000\u0000\u0218"+
"\u021a\u0001\u0000\u0000\u0000\u0219\u0210\u0001\u0000\u0000\u0000\u0219"+
"\u0218\u0001\u0000\u0000\u0000\u021aU\u0001\u0000\u0000\u0000\u021b\u021c"+
"\u0003X,\u0000\u021c\u021d\u0005@\u0000\u0000\u021d\u021e\u0003*\u0015"+
"\u0000\u021eW\u0001\u0000\u0000\u0000\u021f\u0220\u0007\u0007\u0000\u0000"+
"\u0220Y\u0001\u0000\u0000\u0000C[agjou{\u0084\u008c\u0098\u00a0\u00a7"+
"\u00b6\u00b9\u00bc\u00c0\u00c3\u00c7\u00ca\u00cd\u00d0\u00d5\u00dc\u00e8"+
"\u00f3\u0100\u0105\u0109\u010c\u0116\u0123\u0129\u012c\u0131\u0134\u0137"+
"\u0147\u014e\u0153\u015b\u0160\u0162\u0168\u0171\u017a\u0181\u0185\u0188"+
"\u018a\u018f\u0196\u01a0\u01aa\u01ae\u01b1\u01be\u01c4\u01c9\u01d2\u01db"+
"\u01de\u01e3\u01ea\u01f4\u0202\u0215\u0219";
public static final ATN _ATN =
new ATNDeserializer().deserialize(_serializedATN.toCharArray());
static {
_decisionToDFA = new DFA[_ATN.getNumberOfDecisions()];
for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) {
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy