org.openrewrite.xml.internal.grammar.XMLParser Maven / Gradle / Ivy
Show all versions of rewrite-xml Show documentation
/*
* Copyright 2024 the original author or authors.
*
* Licensed 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
*
* https://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.
*/
// Generated from java-escape by ANTLR 4.11.1
package org.openrewrite.xml.internal.grammar;
import org.antlr.v4.runtime.*;
import org.antlr.v4.runtime.atn.ATN;
import org.antlr.v4.runtime.atn.ATNDeserializer;
import org.antlr.v4.runtime.atn.ParserATNSimulator;
import org.antlr.v4.runtime.atn.PredictionContextCache;
import org.antlr.v4.runtime.dfa.DFA;
import org.antlr.v4.runtime.tree.ParseTreeListener;
import org.antlr.v4.runtime.tree.ParseTreeVisitor;
import org.antlr.v4.runtime.tree.TerminalNode;
import java.util.List;
@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast", "CheckReturnValue"})
public class XMLParser extends Parser {
static { RuntimeMetaData.checkVersion("4.11.1", RuntimeMetaData.VERSION); }
protected static final DFA[] _decisionToDFA;
protected static final PredictionContextCache _sharedContextCache =
new PredictionContextCache();
public static final int
COMMENT=1, CDATA=2, ParamEntityRef=3, EntityRef=4, CharRef=5, SEA_WS=6,
UTF_ENCODING_BOM=7, QUESTION_MARK=8, SPECIAL_OPEN_XML=9, OPEN=10, SPECIAL_OPEN=11,
DTD_OPEN=12, TEXT=13, DTD_CLOSE=14, DTD_SUBSET_OPEN=15, DTD_S=16, DOCTYPE=17,
DTD_SUBSET_CLOSE=18, MARKUP_OPEN=19, DTS_SUBSET_S=20, MARK_UP_CLOSE=21,
MARKUP_S=22, MARKUP_TEXT=23, MARKUP_SUBSET=24, PI_S=25, PI_TEXT=26, CLOSE=27,
SPECIAL_CLOSE=28, SLASH_CLOSE=29, S=30, DIRECTIVE_OPEN=31, DIRECTIVE_CLOSE=32,
SLASH=33, EQUALS=34, STRING=35, Name=36;
public static final int
RULE_document = 0, RULE_prolog = 1, RULE_xmldecl = 2, RULE_misc = 3, RULE_doctypedecl = 4,
RULE_intsubset = 5, RULE_markupdecl = 6, RULE_declSep = 7, RULE_externalid = 8,
RULE_processinginstruction = 9, RULE_content = 10, RULE_element = 11,
RULE_jspdirective = 12, RULE_reference = 13, RULE_attribute = 14, RULE_chardata = 15;
private static String[] makeRuleNames() {
return new String[] {
"document", "prolog", "xmldecl", "misc", "doctypedecl", "intsubset",
"markupdecl", "declSep", "externalid", "processinginstruction", "content",
"element", "jspdirective", "reference", "attribute", "chardata"
};
}
public static final String[] ruleNames = makeRuleNames();
private static String[] makeLiteralNames() {
return new String[] {
null, null, null, null, null, null, null, null, "'?'", null, "'<'", null,
null, null, null, null, null, "'DOCTYPE'", 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, "COMMENT", "CDATA", "ParamEntityRef", "EntityRef", "CharRef", "SEA_WS",
"UTF_ENCODING_BOM", "QUESTION_MARK", "SPECIAL_OPEN_XML", "OPEN", "SPECIAL_OPEN",
"DTD_OPEN", "TEXT", "DTD_CLOSE", "DTD_SUBSET_OPEN", "DTD_S", "DOCTYPE",
"DTD_SUBSET_CLOSE", "MARKUP_OPEN", "DTS_SUBSET_S", "MARK_UP_CLOSE", "MARKUP_S",
"MARKUP_TEXT", "MARKUP_SUBSET", "PI_S", "PI_TEXT", "CLOSE", "SPECIAL_CLOSE",
"SLASH_CLOSE", "S", "DIRECTIVE_OPEN", "DIRECTIVE_CLOSE", "SLASH", "EQUALS",
"STRING", "Name"
};
}
private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames();
public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);
/**
* @deprecated Use {@link #VOCABULARY} instead.
*/
@Deprecated
public static final String[] tokenNames;
static {
tokenNames = new String[_SYMBOLIC_NAMES.length];
for (int i = 0; i < tokenNames.length; i++) {
tokenNames[i] = VOCABULARY.getLiteralName(i);
if (tokenNames[i] == null) {
tokenNames[i] = VOCABULARY.getSymbolicName(i);
}
if (tokenNames[i] == null) {
tokenNames[i] = "";
}
}
}
@Override
@Deprecated
public String[] getTokenNames() {
return tokenNames;
}
@Override
public Vocabulary getVocabulary() {
return VOCABULARY;
}
@Override
public String getGrammarFileName() { return "java-escape"; }
@Override
public String[] getRuleNames() { return ruleNames; }
@Override
public String getSerializedATN() { return _serializedATN; }
@Override
public ATN getATN() { return _ATN; }
public XMLParser(TokenStream input) {
super(input);
_interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
}
@SuppressWarnings("CheckReturnValue")
public static class DocumentContext extends ParserRuleContext {
public PrologContext prolog() {
return getRuleContext(PrologContext.class,0);
}
public ElementContext element() {
return getRuleContext(ElementContext.class,0);
}
public TerminalNode UTF_ENCODING_BOM() { return getToken(XMLParser.UTF_ENCODING_BOM, 0); }
public DocumentContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_document; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).enterDocument(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).exitDocument(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof XMLParserVisitor ) return ((XMLParserVisitor extends T>)visitor).visitDocument(this);
else return visitor.visitChildren(this);
}
}
public final DocumentContext document() throws RecognitionException {
DocumentContext _localctx = new DocumentContext(_ctx, getState());
enterRule(_localctx, 0, RULE_document);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(33);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==UTF_ENCODING_BOM) {
{
setState(32);
match(UTF_ENCODING_BOM);
}
}
setState(35);
prolog();
setState(36);
element();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PrologContext extends ParserRuleContext {
public XmldeclContext xmldecl() {
return getRuleContext(XmldeclContext.class,0);
}
public List misc() {
return getRuleContexts(MiscContext.class);
}
public MiscContext misc(int i) {
return getRuleContext(MiscContext.class,i);
}
public List jspdirective() {
return getRuleContexts(JspdirectiveContext.class);
}
public JspdirectiveContext jspdirective(int i) {
return getRuleContext(JspdirectiveContext.class,i);
}
public PrologContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_prolog; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).enterProlog(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).exitProlog(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof XMLParserVisitor ) return ((XMLParserVisitor extends T>)visitor).visitProlog(this);
else return visitor.visitChildren(this);
}
}
public final PrologContext prolog() throws RecognitionException {
PrologContext _localctx = new PrologContext(_ctx, getState());
enterRule(_localctx, 2, RULE_prolog);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(39);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SPECIAL_OPEN_XML) {
{
setState(38);
xmldecl();
}
}
setState(44);
_errHandler.sync(this);
_la = _input.LA(1);
while (((_la) & ~0x3f) == 0 && ((1L << _la) & 6146L) != 0) {
{
{
setState(41);
misc();
}
}
setState(46);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(50);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,3,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(47);
jspdirective();
}
}
}
setState(52);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,3,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class XmldeclContext extends ParserRuleContext {
public TerminalNode SPECIAL_OPEN_XML() { return getToken(XMLParser.SPECIAL_OPEN_XML, 0); }
public TerminalNode SPECIAL_CLOSE() { return getToken(XMLParser.SPECIAL_CLOSE, 0); }
public List attribute() {
return getRuleContexts(AttributeContext.class);
}
public AttributeContext attribute(int i) {
return getRuleContext(AttributeContext.class,i);
}
public XmldeclContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_xmldecl; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).enterXmldecl(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).exitXmldecl(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof XMLParserVisitor ) return ((XMLParserVisitor extends T>)visitor).visitXmldecl(this);
else return visitor.visitChildren(this);
}
}
public final XmldeclContext xmldecl() throws RecognitionException {
XmldeclContext _localctx = new XmldeclContext(_ctx, getState());
enterRule(_localctx, 4, RULE_xmldecl);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(53);
match(SPECIAL_OPEN_XML);
setState(57);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==Name) {
{
{
setState(54);
attribute();
}
}
setState(59);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(60);
match(SPECIAL_CLOSE);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class MiscContext extends ParserRuleContext {
public TerminalNode COMMENT() { return getToken(XMLParser.COMMENT, 0); }
public DoctypedeclContext doctypedecl() {
return getRuleContext(DoctypedeclContext.class,0);
}
public ProcessinginstructionContext processinginstruction() {
return getRuleContext(ProcessinginstructionContext.class,0);
}
public MiscContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_misc; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).enterMisc(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).exitMisc(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof XMLParserVisitor ) return ((XMLParserVisitor extends T>)visitor).visitMisc(this);
else return visitor.visitChildren(this);
}
}
public final MiscContext misc() throws RecognitionException {
MiscContext _localctx = new MiscContext(_ctx, getState());
enterRule(_localctx, 6, RULE_misc);
try {
enterOuterAlt(_localctx, 1);
{
setState(65);
_errHandler.sync(this);
switch (_input.LA(1)) {
case COMMENT:
{
setState(62);
match(COMMENT);
}
break;
case DTD_OPEN:
{
setState(63);
doctypedecl();
}
break;
case SPECIAL_OPEN:
{
setState(64);
processinginstruction();
}
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 DoctypedeclContext extends ParserRuleContext {
public TerminalNode DTD_OPEN() { return getToken(XMLParser.DTD_OPEN, 0); }
public TerminalNode DOCTYPE() { return getToken(XMLParser.DOCTYPE, 0); }
public TerminalNode Name() { return getToken(XMLParser.Name, 0); }
public ExternalidContext externalid() {
return getRuleContext(ExternalidContext.class,0);
}
public TerminalNode DTD_CLOSE() { return getToken(XMLParser.DTD_CLOSE, 0); }
public List STRING() { return getTokens(XMLParser.STRING); }
public TerminalNode STRING(int i) {
return getToken(XMLParser.STRING, i);
}
public TerminalNode DTD_SUBSET_OPEN() { return getToken(XMLParser.DTD_SUBSET_OPEN, 0); }
public IntsubsetContext intsubset() {
return getRuleContext(IntsubsetContext.class,0);
}
public TerminalNode DTD_SUBSET_CLOSE() { return getToken(XMLParser.DTD_SUBSET_CLOSE, 0); }
public DoctypedeclContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_doctypedecl; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).enterDoctypedecl(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).exitDoctypedecl(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof XMLParserVisitor ) return ((XMLParserVisitor extends T>)visitor).visitDoctypedecl(this);
else return visitor.visitChildren(this);
}
}
public final DoctypedeclContext doctypedecl() throws RecognitionException {
DoctypedeclContext _localctx = new DoctypedeclContext(_ctx, getState());
enterRule(_localctx, 8, RULE_doctypedecl);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(67);
match(DTD_OPEN);
setState(68);
match(DOCTYPE);
setState(69);
match(Name);
setState(70);
externalid();
setState(74);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==STRING) {
{
{
setState(71);
match(STRING);
}
}
setState(76);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(81);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==DTD_SUBSET_OPEN) {
{
setState(77);
match(DTD_SUBSET_OPEN);
setState(78);
intsubset();
setState(79);
match(DTD_SUBSET_CLOSE);
}
}
setState(83);
match(DTD_CLOSE);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class IntsubsetContext extends ParserRuleContext {
public List markupdecl() {
return getRuleContexts(MarkupdeclContext.class);
}
public MarkupdeclContext markupdecl(int i) {
return getRuleContext(MarkupdeclContext.class,i);
}
public List declSep() {
return getRuleContexts(DeclSepContext.class);
}
public DeclSepContext declSep(int i) {
return getRuleContext(DeclSepContext.class,i);
}
public IntsubsetContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_intsubset; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).enterIntsubset(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).exitIntsubset(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof XMLParserVisitor ) return ((XMLParserVisitor extends T>)visitor).visitIntsubset(this);
else return visitor.visitChildren(this);
}
}
public final IntsubsetContext intsubset() throws RecognitionException {
IntsubsetContext _localctx = new IntsubsetContext(_ctx, getState());
enterRule(_localctx, 10, RULE_intsubset);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(89);
_errHandler.sync(this);
_la = _input.LA(1);
while (((_la) & ~0x3f) == 0 && ((1L << _la) & 526346L) != 0) {
{
setState(87);
_errHandler.sync(this);
switch (_input.LA(1)) {
case COMMENT:
case SPECIAL_OPEN:
case MARKUP_OPEN:
{
setState(85);
markupdecl();
}
break;
case ParamEntityRef:
{
setState(86);
declSep();
}
break;
default:
throw new NoViableAltException(this);
}
}
setState(91);
_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 MarkupdeclContext extends ParserRuleContext {
public TerminalNode MARKUP_OPEN() { return getToken(XMLParser.MARKUP_OPEN, 0); }
public TerminalNode MARK_UP_CLOSE() { return getToken(XMLParser.MARK_UP_CLOSE, 0); }
public List MARKUP_TEXT() { return getTokens(XMLParser.MARKUP_TEXT); }
public TerminalNode MARKUP_TEXT(int i) {
return getToken(XMLParser.MARKUP_TEXT, i);
}
public List MARKUP_SUBSET() { return getTokens(XMLParser.MARKUP_SUBSET); }
public TerminalNode MARKUP_SUBSET(int i) {
return getToken(XMLParser.MARKUP_SUBSET, i);
}
public ProcessinginstructionContext processinginstruction() {
return getRuleContext(ProcessinginstructionContext.class,0);
}
public TerminalNode COMMENT() { return getToken(XMLParser.COMMENT, 0); }
public MarkupdeclContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_markupdecl; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).enterMarkupdecl(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).exitMarkupdecl(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof XMLParserVisitor ) return ((XMLParserVisitor extends T>)visitor).visitMarkupdecl(this);
else return visitor.visitChildren(this);
}
}
public final MarkupdeclContext markupdecl() throws RecognitionException {
MarkupdeclContext _localctx = new MarkupdeclContext(_ctx, getState());
enterRule(_localctx, 12, RULE_markupdecl);
int _la;
try {
setState(108);
_errHandler.sync(this);
switch (_input.LA(1)) {
case MARKUP_OPEN:
enterOuterAlt(_localctx, 1);
{
{
setState(92);
match(MARKUP_OPEN);
setState(94);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,10,_ctx) ) {
case 1:
{
setState(93);
match(MARKUP_TEXT);
}
break;
}
setState(99);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==MARKUP_SUBSET) {
{
{
setState(96);
match(MARKUP_SUBSET);
}
}
setState(101);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(103);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==MARKUP_TEXT) {
{
setState(102);
match(MARKUP_TEXT);
}
}
setState(105);
match(MARK_UP_CLOSE);
}
}
break;
case SPECIAL_OPEN:
enterOuterAlt(_localctx, 2);
{
setState(106);
processinginstruction();
}
break;
case COMMENT:
enterOuterAlt(_localctx, 3);
{
setState(107);
match(COMMENT);
}
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 DeclSepContext extends ParserRuleContext {
public TerminalNode ParamEntityRef() { return getToken(XMLParser.ParamEntityRef, 0); }
public DeclSepContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_declSep; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).enterDeclSep(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).exitDeclSep(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof XMLParserVisitor ) return ((XMLParserVisitor extends T>)visitor).visitDeclSep(this);
else return visitor.visitChildren(this);
}
}
public final DeclSepContext declSep() throws RecognitionException {
DeclSepContext _localctx = new DeclSepContext(_ctx, getState());
enterRule(_localctx, 14, RULE_declSep);
try {
enterOuterAlt(_localctx, 1);
{
setState(110);
match(ParamEntityRef);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ExternalidContext extends ParserRuleContext {
public TerminalNode Name() { return getToken(XMLParser.Name, 0); }
public ExternalidContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_externalid; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).enterExternalid(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).exitExternalid(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof XMLParserVisitor ) return ((XMLParserVisitor extends T>)visitor).visitExternalid(this);
else return visitor.visitChildren(this);
}
}
public final ExternalidContext externalid() throws RecognitionException {
ExternalidContext _localctx = new ExternalidContext(_ctx, getState());
enterRule(_localctx, 16, RULE_externalid);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(113);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==Name) {
{
setState(112);
match(Name);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ProcessinginstructionContext extends ParserRuleContext {
public TerminalNode SPECIAL_OPEN() { return getToken(XMLParser.SPECIAL_OPEN, 0); }
public TerminalNode SPECIAL_CLOSE() { return getToken(XMLParser.SPECIAL_CLOSE, 0); }
public List PI_TEXT() { return getTokens(XMLParser.PI_TEXT); }
public TerminalNode PI_TEXT(int i) {
return getToken(XMLParser.PI_TEXT, i);
}
public ProcessinginstructionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_processinginstruction; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).enterProcessinginstruction(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).exitProcessinginstruction(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof XMLParserVisitor ) return ((XMLParserVisitor extends T>)visitor).visitProcessinginstruction(this);
else return visitor.visitChildren(this);
}
}
public final ProcessinginstructionContext processinginstruction() throws RecognitionException {
ProcessinginstructionContext _localctx = new ProcessinginstructionContext(_ctx, getState());
enterRule(_localctx, 18, RULE_processinginstruction);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(115);
match(SPECIAL_OPEN);
setState(117);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(116);
match(PI_TEXT);
}
}
setState(119);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==PI_TEXT );
setState(121);
match(SPECIAL_CLOSE);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ContentContext extends ParserRuleContext {
public ElementContext element() {
return getRuleContext(ElementContext.class,0);
}
public ReferenceContext reference() {
return getRuleContext(ReferenceContext.class,0);
}
public ProcessinginstructionContext processinginstruction() {
return getRuleContext(ProcessinginstructionContext.class,0);
}
public TerminalNode CDATA() { return getToken(XMLParser.CDATA, 0); }
public TerminalNode COMMENT() { return getToken(XMLParser.COMMENT, 0); }
public ChardataContext chardata() {
return getRuleContext(ChardataContext.class,0);
}
public ContentContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_content; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).enterContent(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).exitContent(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof XMLParserVisitor ) return ((XMLParserVisitor extends T>)visitor).visitContent(this);
else return visitor.visitChildren(this);
}
}
public final ContentContext content() throws RecognitionException {
ContentContext _localctx = new ContentContext(_ctx, getState());
enterRule(_localctx, 20, RULE_content);
try {
enterOuterAlt(_localctx, 1);
{
setState(129);
_errHandler.sync(this);
switch (_input.LA(1)) {
case OPEN:
{
setState(123);
element();
}
break;
case EntityRef:
case CharRef:
{
setState(124);
reference();
}
break;
case SPECIAL_OPEN:
{
setState(125);
processinginstruction();
}
break;
case CDATA:
{
setState(126);
match(CDATA);
}
break;
case COMMENT:
{
setState(127);
match(COMMENT);
}
break;
case SEA_WS:
case QUESTION_MARK:
case TEXT:
{
setState(128);
chardata();
}
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 ElementContext extends ParserRuleContext {
public List OPEN() { return getTokens(XMLParser.OPEN); }
public TerminalNode OPEN(int i) {
return getToken(XMLParser.OPEN, i);
}
public List Name() { return getTokens(XMLParser.Name); }
public TerminalNode Name(int i) {
return getToken(XMLParser.Name, i);
}
public List CLOSE() { return getTokens(XMLParser.CLOSE); }
public TerminalNode CLOSE(int i) {
return getToken(XMLParser.CLOSE, i);
}
public TerminalNode SLASH() { return getToken(XMLParser.SLASH, 0); }
public List attribute() {
return getRuleContexts(AttributeContext.class);
}
public AttributeContext attribute(int i) {
return getRuleContext(AttributeContext.class,i);
}
public List content() {
return getRuleContexts(ContentContext.class);
}
public ContentContext content(int i) {
return getRuleContext(ContentContext.class,i);
}
public TerminalNode SLASH_CLOSE() { return getToken(XMLParser.SLASH_CLOSE, 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 XMLParserListener ) ((XMLParserListener)listener).enterElement(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).exitElement(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof XMLParserVisitor ) return ((XMLParserVisitor extends T>)visitor).visitElement(this);
else return visitor.visitChildren(this);
}
}
public final ElementContext element() throws RecognitionException {
ElementContext _localctx = new ElementContext(_ctx, getState());
enterRule(_localctx, 22, RULE_element);
int _la;
try {
int _alt;
setState(159);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,20,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(131);
match(OPEN);
setState(132);
match(Name);
setState(136);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==Name) {
{
{
setState(133);
attribute();
}
}
setState(138);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(139);
match(CLOSE);
setState(143);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,18,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(140);
content();
}
}
}
setState(145);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,18,_ctx);
}
setState(146);
match(OPEN);
setState(147);
match(SLASH);
setState(148);
match(Name);
setState(149);
match(CLOSE);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(150);
match(OPEN);
setState(151);
match(Name);
setState(155);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==Name) {
{
{
setState(152);
attribute();
}
}
setState(157);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(158);
match(SLASH_CLOSE);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class JspdirectiveContext extends ParserRuleContext {
public TerminalNode OPEN() { return getToken(XMLParser.OPEN, 0); }
public TerminalNode DIRECTIVE_OPEN() { return getToken(XMLParser.DIRECTIVE_OPEN, 0); }
public TerminalNode Name() { return getToken(XMLParser.Name, 0); }
public TerminalNode DIRECTIVE_CLOSE() { return getToken(XMLParser.DIRECTIVE_CLOSE, 0); }
public TerminalNode CLOSE() { return getToken(XMLParser.CLOSE, 0); }
public List attribute() {
return getRuleContexts(AttributeContext.class);
}
public AttributeContext attribute(int i) {
return getRuleContext(AttributeContext.class,i);
}
public JspdirectiveContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_jspdirective; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).enterJspdirective(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).exitJspdirective(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof XMLParserVisitor ) return ((XMLParserVisitor extends T>)visitor).visitJspdirective(this);
else return visitor.visitChildren(this);
}
}
public final JspdirectiveContext jspdirective() throws RecognitionException {
JspdirectiveContext _localctx = new JspdirectiveContext(_ctx, getState());
enterRule(_localctx, 24, RULE_jspdirective);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(161);
match(OPEN);
setState(162);
match(DIRECTIVE_OPEN);
setState(163);
match(Name);
setState(167);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==Name) {
{
{
setState(164);
attribute();
}
}
setState(169);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(170);
match(DIRECTIVE_CLOSE);
setState(171);
match(CLOSE);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ReferenceContext extends ParserRuleContext {
public TerminalNode EntityRef() { return getToken(XMLParser.EntityRef, 0); }
public TerminalNode CharRef() { return getToken(XMLParser.CharRef, 0); }
public ReferenceContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_reference; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).enterReference(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).exitReference(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof XMLParserVisitor ) return ((XMLParserVisitor extends T>)visitor).visitReference(this);
else return visitor.visitChildren(this);
}
}
public final ReferenceContext reference() throws RecognitionException {
ReferenceContext _localctx = new ReferenceContext(_ctx, getState());
enterRule(_localctx, 26, RULE_reference);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(173);
_la = _input.LA(1);
if ( !(_la==EntityRef || _la==CharRef) ) {
_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 AttributeContext extends ParserRuleContext {
public TerminalNode Name() { return getToken(XMLParser.Name, 0); }
public TerminalNode EQUALS() { return getToken(XMLParser.EQUALS, 0); }
public TerminalNode STRING() { return getToken(XMLParser.STRING, 0); }
public AttributeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_attribute; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).enterAttribute(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).exitAttribute(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof XMLParserVisitor ) return ((XMLParserVisitor extends T>)visitor).visitAttribute(this);
else return visitor.visitChildren(this);
}
}
public final AttributeContext attribute() throws RecognitionException {
AttributeContext _localctx = new AttributeContext(_ctx, getState());
enterRule(_localctx, 28, RULE_attribute);
try {
enterOuterAlt(_localctx, 1);
{
setState(175);
match(Name);
setState(176);
match(EQUALS);
setState(177);
match(STRING);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ChardataContext extends ParserRuleContext {
public TerminalNode TEXT() { return getToken(XMLParser.TEXT, 0); }
public TerminalNode QUESTION_MARK() { return getToken(XMLParser.QUESTION_MARK, 0); }
public TerminalNode SEA_WS() { return getToken(XMLParser.SEA_WS, 0); }
public ChardataContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_chardata; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).enterChardata(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).exitChardata(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof XMLParserVisitor ) return ((XMLParserVisitor extends T>)visitor).visitChardata(this);
else return visitor.visitChildren(this);
}
}
public final ChardataContext chardata() throws RecognitionException {
ChardataContext _localctx = new ChardataContext(_ctx, getState());
enterRule(_localctx, 30, RULE_chardata);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(179);
_la = _input.LA(1);
if ( !(((_la) & ~0x3f) == 0 && ((1L << _la) & 8512L) != 0) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static final String _serializedATN =
"\u0004\u0001$\u00b6\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"+
"\u0001\u0000\u0003\u0000\"\b\u0000\u0001\u0000\u0001\u0000\u0001\u0000"+
"\u0001\u0001\u0003\u0001(\b\u0001\u0001\u0001\u0005\u0001+\b\u0001\n\u0001"+
"\f\u0001.\t\u0001\u0001\u0001\u0005\u00011\b\u0001\n\u0001\f\u00014\t"+
"\u0001\u0001\u0002\u0001\u0002\u0005\u00028\b\u0002\n\u0002\f\u0002;\t"+
"\u0002\u0001\u0002\u0001\u0002\u0001\u0003\u0001\u0003\u0001\u0003\u0003"+
"\u0003B\b\u0003\u0001\u0004\u0001\u0004\u0001\u0004\u0001\u0004\u0001"+
"\u0004\u0005\u0004I\b\u0004\n\u0004\f\u0004L\t\u0004\u0001\u0004\u0001"+
"\u0004\u0001\u0004\u0001\u0004\u0003\u0004R\b\u0004\u0001\u0004\u0001"+
"\u0004\u0001\u0005\u0001\u0005\u0005\u0005X\b\u0005\n\u0005\f\u0005[\t"+
"\u0005\u0001\u0006\u0001\u0006\u0003\u0006_\b\u0006\u0001\u0006\u0005"+
"\u0006b\b\u0006\n\u0006\f\u0006e\t\u0006\u0001\u0006\u0003\u0006h\b\u0006"+
"\u0001\u0006\u0001\u0006\u0001\u0006\u0003\u0006m\b\u0006\u0001\u0007"+
"\u0001\u0007\u0001\b\u0003\br\b\b\u0001\t\u0001\t\u0004\tv\b\t\u000b\t"+
"\f\tw\u0001\t\u0001\t\u0001\n\u0001\n\u0001\n\u0001\n\u0001\n\u0001\n"+
"\u0003\n\u0082\b\n\u0001\u000b\u0001\u000b\u0001\u000b\u0005\u000b\u0087"+
"\b\u000b\n\u000b\f\u000b\u008a\t\u000b\u0001\u000b\u0001\u000b\u0005\u000b"+
"\u008e\b\u000b\n\u000b\f\u000b\u0091\t\u000b\u0001\u000b\u0001\u000b\u0001"+
"\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0005\u000b\u009a"+
"\b\u000b\n\u000b\f\u000b\u009d\t\u000b\u0001\u000b\u0003\u000b\u00a0\b"+
"\u000b\u0001\f\u0001\f\u0001\f\u0001\f\u0005\f\u00a6\b\f\n\f\f\f\u00a9"+
"\t\f\u0001\f\u0001\f\u0001\f\u0001\r\u0001\r\u0001\u000e\u0001\u000e\u0001"+
"\u000e\u0001\u000e\u0001\u000f\u0001\u000f\u0001\u000f\u0000\u0000\u0010"+
"\u0000\u0002\u0004\u0006\b\n\f\u000e\u0010\u0012\u0014\u0016\u0018\u001a"+
"\u001c\u001e\u0000\u0002\u0001\u0000\u0004\u0005\u0003\u0000\u0006\u0006"+
"\b\b\r\r\u00c1\u0000!\u0001\u0000\u0000\u0000\u0002\'\u0001\u0000\u0000"+
"\u0000\u00045\u0001\u0000\u0000\u0000\u0006A\u0001\u0000\u0000\u0000\b"+
"C\u0001\u0000\u0000\u0000\nY\u0001\u0000\u0000\u0000\fl\u0001\u0000\u0000"+
"\u0000\u000en\u0001\u0000\u0000\u0000\u0010q\u0001\u0000\u0000\u0000\u0012"+
"s\u0001\u0000\u0000\u0000\u0014\u0081\u0001\u0000\u0000\u0000\u0016\u009f"+
"\u0001\u0000\u0000\u0000\u0018\u00a1\u0001\u0000\u0000\u0000\u001a\u00ad"+
"\u0001\u0000\u0000\u0000\u001c\u00af\u0001\u0000\u0000\u0000\u001e\u00b3"+
"\u0001\u0000\u0000\u0000 \"\u0005\u0007\u0000\u0000! \u0001\u0000\u0000"+
"\u0000!\"\u0001\u0000\u0000\u0000\"#\u0001\u0000\u0000\u0000#$\u0003\u0002"+
"\u0001\u0000$%\u0003\u0016\u000b\u0000%\u0001\u0001\u0000\u0000\u0000"+
"&(\u0003\u0004\u0002\u0000\'&\u0001\u0000\u0000\u0000\'(\u0001\u0000\u0000"+
"\u0000(,\u0001\u0000\u0000\u0000)+\u0003\u0006\u0003\u0000*)\u0001\u0000"+
"\u0000\u0000+.\u0001\u0000\u0000\u0000,*\u0001\u0000\u0000\u0000,-\u0001"+
"\u0000\u0000\u0000-2\u0001\u0000\u0000\u0000.,\u0001\u0000\u0000\u0000"+
"/1\u0003\u0018\f\u00000/\u0001\u0000\u0000\u000014\u0001\u0000\u0000\u0000"+
"20\u0001\u0000\u0000\u000023\u0001\u0000\u0000\u00003\u0003\u0001\u0000"+
"\u0000\u000042\u0001\u0000\u0000\u000059\u0005\t\u0000\u000068\u0003\u001c"+
"\u000e\u000076\u0001\u0000\u0000\u00008;\u0001\u0000\u0000\u000097\u0001"+
"\u0000\u0000\u00009:\u0001\u0000\u0000\u0000:<\u0001\u0000\u0000\u0000"+
";9\u0001\u0000\u0000\u0000<=\u0005\u001c\u0000\u0000=\u0005\u0001\u0000"+
"\u0000\u0000>B\u0005\u0001\u0000\u0000?B\u0003\b\u0004\u0000@B\u0003\u0012"+
"\t\u0000A>\u0001\u0000\u0000\u0000A?\u0001\u0000\u0000\u0000A@\u0001\u0000"+
"\u0000\u0000B\u0007\u0001\u0000\u0000\u0000CD\u0005\f\u0000\u0000DE\u0005"+
"\u0011\u0000\u0000EF\u0005$\u0000\u0000FJ\u0003\u0010\b\u0000GI\u0005"+
"#\u0000\u0000HG\u0001\u0000\u0000\u0000IL\u0001\u0000\u0000\u0000JH\u0001"+
"\u0000\u0000\u0000JK\u0001\u0000\u0000\u0000KQ\u0001\u0000\u0000\u0000"+
"LJ\u0001\u0000\u0000\u0000MN\u0005\u000f\u0000\u0000NO\u0003\n\u0005\u0000"+
"OP\u0005\u0012\u0000\u0000PR\u0001\u0000\u0000\u0000QM\u0001\u0000\u0000"+
"\u0000QR\u0001\u0000\u0000\u0000RS\u0001\u0000\u0000\u0000ST\u0005\u000e"+
"\u0000\u0000T\t\u0001\u0000\u0000\u0000UX\u0003\f\u0006\u0000VX\u0003"+
"\u000e\u0007\u0000WU\u0001\u0000\u0000\u0000WV\u0001\u0000\u0000\u0000"+
"X[\u0001\u0000\u0000\u0000YW\u0001\u0000\u0000\u0000YZ\u0001\u0000\u0000"+
"\u0000Z\u000b\u0001\u0000\u0000\u0000[Y\u0001\u0000\u0000\u0000\\^\u0005"+
"\u0013\u0000\u0000]_\u0005\u0017\u0000\u0000^]\u0001\u0000\u0000\u0000"+
"^_\u0001\u0000\u0000\u0000_c\u0001\u0000\u0000\u0000`b\u0005\u0018\u0000"+
"\u0000a`\u0001\u0000\u0000\u0000be\u0001\u0000\u0000\u0000ca\u0001\u0000"+
"\u0000\u0000cd\u0001\u0000\u0000\u0000dg\u0001\u0000\u0000\u0000ec\u0001"+
"\u0000\u0000\u0000fh\u0005\u0017\u0000\u0000gf\u0001\u0000\u0000\u0000"+
"gh\u0001\u0000\u0000\u0000hi\u0001\u0000\u0000\u0000im\u0005\u0015\u0000"+
"\u0000jm\u0003\u0012\t\u0000km\u0005\u0001\u0000\u0000l\\\u0001\u0000"+
"\u0000\u0000lj\u0001\u0000\u0000\u0000lk\u0001\u0000\u0000\u0000m\r\u0001"+
"\u0000\u0000\u0000no\u0005\u0003\u0000\u0000o\u000f\u0001\u0000\u0000"+
"\u0000pr\u0005$\u0000\u0000qp\u0001\u0000\u0000\u0000qr\u0001\u0000\u0000"+
"\u0000r\u0011\u0001\u0000\u0000\u0000su\u0005\u000b\u0000\u0000tv\u0005"+
"\u001a\u0000\u0000ut\u0001\u0000\u0000\u0000vw\u0001\u0000\u0000\u0000"+
"wu\u0001\u0000\u0000\u0000wx\u0001\u0000\u0000\u0000xy\u0001\u0000\u0000"+
"\u0000yz\u0005\u001c\u0000\u0000z\u0013\u0001\u0000\u0000\u0000{\u0082"+
"\u0003\u0016\u000b\u0000|\u0082\u0003\u001a\r\u0000}\u0082\u0003\u0012"+
"\t\u0000~\u0082\u0005\u0002\u0000\u0000\u007f\u0082\u0005\u0001\u0000"+
"\u0000\u0080\u0082\u0003\u001e\u000f\u0000\u0081{\u0001\u0000\u0000\u0000"+
"\u0081|\u0001\u0000\u0000\u0000\u0081}\u0001\u0000\u0000\u0000\u0081~"+
"\u0001\u0000\u0000\u0000\u0081\u007f\u0001\u0000\u0000\u0000\u0081\u0080"+
"\u0001\u0000\u0000\u0000\u0082\u0015\u0001\u0000\u0000\u0000\u0083\u0084"+
"\u0005\n\u0000\u0000\u0084\u0088\u0005$\u0000\u0000\u0085\u0087\u0003"+
"\u001c\u000e\u0000\u0086\u0085\u0001\u0000\u0000\u0000\u0087\u008a\u0001"+
"\u0000\u0000\u0000\u0088\u0086\u0001\u0000\u0000\u0000\u0088\u0089\u0001"+
"\u0000\u0000\u0000\u0089\u008b\u0001\u0000\u0000\u0000\u008a\u0088\u0001"+
"\u0000\u0000\u0000\u008b\u008f\u0005\u001b\u0000\u0000\u008c\u008e\u0003"+
"\u0014\n\u0000\u008d\u008c\u0001\u0000\u0000\u0000\u008e\u0091\u0001\u0000"+
"\u0000\u0000\u008f\u008d\u0001\u0000\u0000\u0000\u008f\u0090\u0001\u0000"+
"\u0000\u0000\u0090\u0092\u0001\u0000\u0000\u0000\u0091\u008f\u0001\u0000"+
"\u0000\u0000\u0092\u0093\u0005\n\u0000\u0000\u0093\u0094\u0005!\u0000"+
"\u0000\u0094\u0095\u0005$\u0000\u0000\u0095\u00a0\u0005\u001b\u0000\u0000"+
"\u0096\u0097\u0005\n\u0000\u0000\u0097\u009b\u0005$\u0000\u0000\u0098"+
"\u009a\u0003\u001c\u000e\u0000\u0099\u0098\u0001\u0000\u0000\u0000\u009a"+
"\u009d\u0001\u0000\u0000\u0000\u009b\u0099\u0001\u0000\u0000\u0000\u009b"+
"\u009c\u0001\u0000\u0000\u0000\u009c\u009e\u0001\u0000\u0000\u0000\u009d"+
"\u009b\u0001\u0000\u0000\u0000\u009e\u00a0\u0005\u001d\u0000\u0000\u009f"+
"\u0083\u0001\u0000\u0000\u0000\u009f\u0096\u0001\u0000\u0000\u0000\u00a0"+
"\u0017\u0001\u0000\u0000\u0000\u00a1\u00a2\u0005\n\u0000\u0000\u00a2\u00a3"+
"\u0005\u001f\u0000\u0000\u00a3\u00a7\u0005$\u0000\u0000\u00a4\u00a6\u0003"+
"\u001c\u000e\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\u0005 \u0000\u0000\u00ab\u00ac\u0005\u001b"+
"\u0000\u0000\u00ac\u0019\u0001\u0000\u0000\u0000\u00ad\u00ae\u0007\u0000"+
"\u0000\u0000\u00ae\u001b\u0001\u0000\u0000\u0000\u00af\u00b0\u0005$\u0000"+
"\u0000\u00b0\u00b1\u0005\"\u0000\u0000\u00b1\u00b2\u0005#\u0000\u0000"+
"\u00b2\u001d\u0001\u0000\u0000\u0000\u00b3\u00b4\u0007\u0001\u0000\u0000"+
"\u00b4\u001f\u0001\u0000\u0000\u0000\u0016!\',29AJQWY^cglqw\u0081\u0088"+
"\u008f\u009b\u009f\u00a7";
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);
}
}
}