liquid.parser.v4.LiquidParser Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of liqp Show documentation
Show all versions of liqp Show documentation
A Java implementation of the Liquid templating engine backed up by an ANTLR grammar.
The newest version!
// Generated from liquid/parser/v4/LiquidParser.g4 by ANTLR 4.13.0
package liquid.parser.v4;
// add java imports here
import liqp.TemplateParser;
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 LiquidParser extends Parser {
static { RuntimeMetaData.checkVersion("4.13.0", RuntimeMetaData.VERSION); }
protected static final DFA[] _decisionToDFA;
protected static final PredictionContextCache _sharedContextCache =
new PredictionContextCache();
public static final int
BlockId=1, EndBlockId=2, SimpleTagId=3, InvalidEndBlockId=4, MisMatchedEndBlockId=5,
OutStart=6, TagStart=7, Other=8, OutStart2=9, OutEnd=10, TagEnd=11, Str=12,
DotDot=13, Dot=14, NEq=15, Eq=16, EqSign=17, GtEq=18, Gt=19, LtEq=20,
Lt=21, Minus=22, Pipe=23, Col=24, Comma=25, OPar=26, CPar=27, OBr=28,
CBr=29, QMark=30, PathSep=31, DoubleNum=32, LongNum=33, WS=34, Contains=35,
In=36, And=37, Or=38, True=39, False=40, Nil=41, With=42, Offset=43, Continue=44,
Reversed=45, Empty=46, Blank=47, IdChain=48, Id=49, WS2=50, InvalidEndTag=51,
CaptureStart=52, CaptureEnd=53, CommentStart=54, CommentEnd=55, RawStart=56,
IfStart=57, Elsif=58, IfEnd=59, UnlessStart=60, UnlessEnd=61, Else=62,
CaseStart=63, CaseEnd=64, When=65, Cycle=66, ForStart=67, ForEnd=68, TableStart=69,
TableEnd=70, Assign=71, Include=72, IncludeRelative=73, InvalidTagId=74,
RawEnd=75, OtherRaw=76;
public static final int
RULE_parse = 0, RULE_block = 1, RULE_atom = 2, RULE_tag = 3, RULE_continue_tag = 4,
RULE_other_tag = 5, RULE_error_other_tag = 6, RULE_simple_tag = 7, RULE_raw_tag = 8,
RULE_raw_body = 9, RULE_comment_tag = 10, RULE_other_than_tag_start = 11,
RULE_if_tag = 12, RULE_elsif_tag = 13, RULE_else_tag = 14, RULE_unless_tag = 15,
RULE_case_tag = 16, RULE_when_tag = 17, RULE_cycle_tag = 18, RULE_cycle_group = 19,
RULE_for_tag = 20, RULE_for_array = 21, RULE_for_range = 22, RULE_for_block = 23,
RULE_for_attribute = 24, RULE_attribute = 25, RULE_table_tag = 26, RULE_capture_tag = 27,
RULE_include_tag = 28, RULE_include_relative_tag = 29, RULE_file_name_or_output = 30,
RULE_jekyll_include_params = 31, RULE_output = 32, RULE_not_out_end = 33,
RULE_filter = 34, RULE_params = 35, RULE_param_expr = 36, RULE_assignment = 37,
RULE_expr = 38, RULE_term = 39, RULE_lookup = 40, RULE_id = 41, RULE_id2 = 42,
RULE_index = 43, RULE_other_tag_parameters = 44, RULE_other_than_tag_end = 45,
RULE_filename = 46, RULE_outStart = 47, RULE_other = 48;
private static String[] makeRuleNames() {
return new String[] {
"parse", "block", "atom", "tag", "continue_tag", "other_tag", "error_other_tag",
"simple_tag", "raw_tag", "raw_body", "comment_tag", "other_than_tag_start",
"if_tag", "elsif_tag", "else_tag", "unless_tag", "case_tag", "when_tag",
"cycle_tag", "cycle_group", "for_tag", "for_array", "for_range", "for_block",
"for_attribute", "attribute", "table_tag", "capture_tag", "include_tag",
"include_relative_tag", "file_name_or_output", "jekyll_include_params",
"output", "not_out_end", "filter", "params", "param_expr", "assignment",
"expr", "term", "lookup", "id", "id2", "index", "other_tag_parameters",
"other_than_tag_end", "filename", "outStart", "other"
};
}
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, null, null, "'contains'", "'in'", "'and'", "'or'", "'true'", "'false'",
null, "'with'", "'offset'", "'continue'", "'reversed'", "'empty'", "'blank'",
null, null, null, null, "'capture'", "'endcapture'", "'comment'", "'endcomment'",
null, "'if'", "'elsif'", "'endif'", "'unless'", "'endunless'", "'else'",
"'case'", "'endcase'", "'when'", "'cycle'", "'for'", "'endfor'", "'tablerow'",
"'endtablerow'", "'assign'", "'include'"
};
}
private static final String[] _LITERAL_NAMES = makeLiteralNames();
private static String[] makeSymbolicNames() {
return new String[] {
null, "BlockId", "EndBlockId", "SimpleTagId", "InvalidEndBlockId", "MisMatchedEndBlockId",
"OutStart", "TagStart", "Other", "OutStart2", "OutEnd", "TagEnd", "Str",
"DotDot", "Dot", "NEq", "Eq", "EqSign", "GtEq", "Gt", "LtEq", "Lt", "Minus",
"Pipe", "Col", "Comma", "OPar", "CPar", "OBr", "CBr", "QMark", "PathSep",
"DoubleNum", "LongNum", "WS", "Contains", "In", "And", "Or", "True",
"False", "Nil", "With", "Offset", "Continue", "Reversed", "Empty", "Blank",
"IdChain", "Id", "WS2", "InvalidEndTag", "CaptureStart", "CaptureEnd",
"CommentStart", "CommentEnd", "RawStart", "IfStart", "Elsif", "IfEnd",
"UnlessStart", "UnlessEnd", "Else", "CaseStart", "CaseEnd", "When", "Cycle",
"ForStart", "ForEnd", "TableStart", "TableEnd", "Assign", "Include",
"IncludeRelative", "InvalidTagId", "RawEnd", "OtherRaw"
};
}
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 "LiquidParser.g4"; }
@Override
public String[] getRuleNames() { return ruleNames; }
@Override
public String getSerializedATN() { return _serializedATN; }
@Override
public ATN getATN() { return _ATN; }
private boolean liquidStyleInclude = true;
private boolean evaluateInOutputTag = false;
private TemplateParser.ErrorMode errorMode = TemplateParser.ErrorMode.LAX;
private boolean isLiquidStyleInclude(){
return liquidStyleInclude;
}
private boolean isJekyllStyleInclude(){
return !liquidStyleInclude;
}
private boolean isEvaluateInOutputTag() {
return evaluateInOutputTag;
}
private boolean isStrict() {
return errorMode == TemplateParser.ErrorMode.STRICT;
}
private boolean isWarn() {
return errorMode == TemplateParser.ErrorMode.WARN;
}
private boolean isLax() {
return errorMode == TemplateParser.ErrorMode.LAX;
}
public LiquidParser(TokenStream input, boolean isLiquidStyleInclude, boolean evaluateInOutputTag, TemplateParser.ErrorMode errorMode) {
this(input);
this.liquidStyleInclude = isLiquidStyleInclude;
this.evaluateInOutputTag = evaluateInOutputTag;
this.errorMode = errorMode;
}
public void reportTokenError(String message, Token token) {
notifyErrorListeners(token, message + ": '" + token.getText() + "'", null);
}
public void reportTokenError(String message) {
notifyErrorListeners(message);
}
public LiquidParser(TokenStream input) {
super(input);
_interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
}
@SuppressWarnings("CheckReturnValue")
public static class ParseContext extends ParserRuleContext {
public BlockContext block() {
return getRuleContext(BlockContext.class,0);
}
public TerminalNode EOF() { return getToken(LiquidParser.EOF, 0); }
public ParseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_parse; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterParse(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitParse(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitParse(this);
else return visitor.visitChildren(this);
}
}
public final ParseContext parse() throws RecognitionException {
ParseContext _localctx = new ParseContext(_ctx, getState());
enterRule(_localctx, 0, RULE_parse);
try {
enterOuterAlt(_localctx, 1);
{
setState(98);
block();
setState(99);
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 BlockContext extends ParserRuleContext {
public List atom() {
return getRuleContexts(AtomContext.class);
}
public AtomContext atom(int i) {
return getRuleContext(AtomContext.class,i);
}
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 LiquidParserListener ) ((LiquidParserListener)listener).enterBlock(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitBlock(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitBlock(this);
else return visitor.visitChildren(this);
}
}
public final BlockContext block() throws RecognitionException {
BlockContext _localctx = new BlockContext(_ctx, getState());
enterRule(_localctx, 2, RULE_block);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(104);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,0,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(101);
atom();
}
}
}
setState(106);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,0,_ctx);
}
}
}
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 AtomContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_atom; }
public AtomContext() { }
public void copyFrom(AtomContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Atom_outputContext extends AtomContext {
public OutputContext output() {
return getRuleContext(OutputContext.class,0);
}
public Atom_outputContext(AtomContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterAtom_output(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitAtom_output(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitAtom_output(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Atom_assignmentContext extends AtomContext {
public AssignmentContext assignment() {
return getRuleContext(AssignmentContext.class,0);
}
public Atom_assignmentContext(AtomContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterAtom_assignment(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitAtom_assignment(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitAtom_assignment(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Atom_tagContext extends AtomContext {
public TagContext tag() {
return getRuleContext(TagContext.class,0);
}
public Atom_tagContext(AtomContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterAtom_tag(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitAtom_tag(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitAtom_tag(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Atom_othersContext extends AtomContext {
public OtherContext other() {
return getRuleContext(OtherContext.class,0);
}
public Atom_othersContext(AtomContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterAtom_others(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitAtom_others(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitAtom_others(this);
else return visitor.visitChildren(this);
}
}
public final AtomContext atom() throws RecognitionException {
AtomContext _localctx = new AtomContext(_ctx, getState());
enterRule(_localctx, 4, RULE_atom);
try {
setState(111);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1,_ctx) ) {
case 1:
_localctx = new Atom_tagContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(107);
tag();
}
break;
case 2:
_localctx = new Atom_outputContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(108);
output();
}
break;
case 3:
_localctx = new Atom_assignmentContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(109);
assignment();
}
break;
case 4:
_localctx = new Atom_othersContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(110);
other();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class TagContext extends ParserRuleContext {
public Raw_tagContext raw_tag() {
return getRuleContext(Raw_tagContext.class,0);
}
public Comment_tagContext comment_tag() {
return getRuleContext(Comment_tagContext.class,0);
}
public If_tagContext if_tag() {
return getRuleContext(If_tagContext.class,0);
}
public Unless_tagContext unless_tag() {
return getRuleContext(Unless_tagContext.class,0);
}
public Case_tagContext case_tag() {
return getRuleContext(Case_tagContext.class,0);
}
public Cycle_tagContext cycle_tag() {
return getRuleContext(Cycle_tagContext.class,0);
}
public For_tagContext for_tag() {
return getRuleContext(For_tagContext.class,0);
}
public Table_tagContext table_tag() {
return getRuleContext(Table_tagContext.class,0);
}
public Capture_tagContext capture_tag() {
return getRuleContext(Capture_tagContext.class,0);
}
public Include_tagContext include_tag() {
return getRuleContext(Include_tagContext.class,0);
}
public Include_relative_tagContext include_relative_tag() {
return getRuleContext(Include_relative_tagContext.class,0);
}
public Continue_tagContext continue_tag() {
return getRuleContext(Continue_tagContext.class,0);
}
public Simple_tagContext simple_tag() {
return getRuleContext(Simple_tagContext.class,0);
}
public Other_tagContext other_tag() {
return getRuleContext(Other_tagContext.class,0);
}
public TagContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_tag; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterTag(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitTag(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitTag(this);
else return visitor.visitChildren(this);
}
}
public final TagContext tag() throws RecognitionException {
TagContext _localctx = new TagContext(_ctx, getState());
enterRule(_localctx, 6, RULE_tag);
try {
setState(127);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,2,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(113);
raw_tag();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(114);
comment_tag();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(115);
if_tag();
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(116);
unless_tag();
}
break;
case 5:
enterOuterAlt(_localctx, 5);
{
setState(117);
case_tag();
}
break;
case 6:
enterOuterAlt(_localctx, 6);
{
setState(118);
cycle_tag();
}
break;
case 7:
enterOuterAlt(_localctx, 7);
{
setState(119);
for_tag();
}
break;
case 8:
enterOuterAlt(_localctx, 8);
{
setState(120);
table_tag();
}
break;
case 9:
enterOuterAlt(_localctx, 9);
{
setState(121);
capture_tag();
}
break;
case 10:
enterOuterAlt(_localctx, 10);
{
setState(122);
include_tag();
}
break;
case 11:
enterOuterAlt(_localctx, 11);
{
setState(123);
include_relative_tag();
}
break;
case 12:
enterOuterAlt(_localctx, 12);
{
setState(124);
continue_tag();
}
break;
case 13:
enterOuterAlt(_localctx, 13);
{
setState(125);
simple_tag();
}
break;
case 14:
enterOuterAlt(_localctx, 14);
{
setState(126);
other_tag();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Continue_tagContext extends ParserRuleContext {
public TerminalNode TagStart() { return getToken(LiquidParser.TagStart, 0); }
public TerminalNode Continue() { return getToken(LiquidParser.Continue, 0); }
public TerminalNode TagEnd() { return getToken(LiquidParser.TagEnd, 0); }
public Continue_tagContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_continue_tag; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterContinue_tag(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitContinue_tag(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitContinue_tag(this);
else return visitor.visitChildren(this);
}
}
public final Continue_tagContext continue_tag() throws RecognitionException {
Continue_tagContext _localctx = new Continue_tagContext(_ctx, getState());
enterRule(_localctx, 8, RULE_continue_tag);
try {
enterOuterAlt(_localctx, 1);
{
setState(129);
match(TagStart);
setState(130);
match(Continue);
setState(131);
match(TagEnd);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Other_tagContext extends ParserRuleContext {
public List TagStart() { return getTokens(LiquidParser.TagStart); }
public TerminalNode TagStart(int i) {
return getToken(LiquidParser.TagStart, i);
}
public TerminalNode BlockId() { return getToken(LiquidParser.BlockId, 0); }
public List TagEnd() { return getTokens(LiquidParser.TagEnd); }
public TerminalNode TagEnd(int i) {
return getToken(LiquidParser.TagEnd, i);
}
public TerminalNode EndBlockId() { return getToken(LiquidParser.EndBlockId, 0); }
public Other_tag_parametersContext other_tag_parameters() {
return getRuleContext(Other_tag_parametersContext.class,0);
}
public List atom() {
return getRuleContexts(AtomContext.class);
}
public AtomContext atom(int i) {
return getRuleContext(AtomContext.class,i);
}
public Error_other_tagContext error_other_tag() {
return getRuleContext(Error_other_tagContext.class,0);
}
public Other_tagContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_other_tag; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterOther_tag(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitOther_tag(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitOther_tag(this);
else return visitor.visitChildren(this);
}
}
public final Other_tagContext other_tag() throws RecognitionException {
Other_tagContext _localctx = new Other_tagContext(_ctx, getState());
enterRule(_localctx, 10, RULE_other_tag);
int _la;
try {
int _alt;
setState(149);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,5,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(133);
match(TagStart);
setState(134);
match(BlockId);
setState(136);
_errHandler.sync(this);
_la = _input.LA(1);
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & -2050L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & 8191L) != 0)) {
{
setState(135);
other_tag_parameters();
}
}
setState(138);
match(TagEnd);
setState(142);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,4,_ctx);
while ( _alt!=1 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1+1 ) {
{
{
setState(139);
atom();
}
}
}
setState(144);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,4,_ctx);
}
setState(145);
match(TagStart);
setState(146);
match(EndBlockId);
setState(147);
match(TagEnd);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(148);
error_other_tag();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Error_other_tagContext extends ParserRuleContext {
public List TagStart() { return getTokens(LiquidParser.TagStart); }
public TerminalNode TagStart(int i) {
return getToken(LiquidParser.TagStart, i);
}
public TerminalNode BlockId() { return getToken(LiquidParser.BlockId, 0); }
public List TagEnd() { return getTokens(LiquidParser.TagEnd); }
public TerminalNode TagEnd(int i) {
return getToken(LiquidParser.TagEnd, i);
}
public TerminalNode MisMatchedEndBlockId() { return getToken(LiquidParser.MisMatchedEndBlockId, 0); }
public Other_tag_parametersContext other_tag_parameters() {
return getRuleContext(Other_tag_parametersContext.class,0);
}
public List atom() {
return getRuleContexts(AtomContext.class);
}
public AtomContext atom(int i) {
return getRuleContext(AtomContext.class,i);
}
public TerminalNode InvalidEndBlockId() { return getToken(LiquidParser.InvalidEndBlockId, 0); }
public TerminalNode InvalidTagId() { return getToken(LiquidParser.InvalidTagId, 0); }
public TerminalNode InvalidEndTag() { return getToken(LiquidParser.InvalidEndTag, 0); }
public Error_other_tagContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_error_other_tag; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterError_other_tag(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitError_other_tag(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitError_other_tag(this);
else return visitor.visitChildren(this);
}
}
public final Error_other_tagContext error_other_tag() throws RecognitionException {
Error_other_tagContext _localctx = new Error_other_tagContext(_ctx, getState());
enterRule(_localctx, 12, RULE_error_other_tag);
int _la;
try {
int _alt;
setState(206);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,13,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(151);
match(TagStart);
setState(152);
match(BlockId);
setState(154);
_errHandler.sync(this);
_la = _input.LA(1);
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & -2050L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & 8191L) != 0)) {
{
setState(153);
other_tag_parameters();
}
}
setState(156);
match(TagEnd);
setState(160);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,7,_ctx);
while ( _alt!=1 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1+1 ) {
{
{
setState(157);
atom();
}
}
}
setState(162);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,7,_ctx);
}
setState(163);
match(TagStart);
setState(164);
match(MisMatchedEndBlockId);
setState(165);
match(TagEnd);
reportTokenError("Mismatched End Tag", _localctx.MisMatchedEndBlockId().getSymbol());
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(167);
match(TagStart);
setState(168);
match(BlockId);
setState(170);
_errHandler.sync(this);
_la = _input.LA(1);
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & -2050L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & 8191L) != 0)) {
{
setState(169);
other_tag_parameters();
}
}
setState(172);
match(TagEnd);
setState(176);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,9,_ctx);
while ( _alt!=1 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1+1 ) {
{
{
setState(173);
atom();
}
}
}
setState(178);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,9,_ctx);
}
setState(179);
match(TagStart);
setState(180);
match(InvalidEndBlockId);
setState(181);
match(TagEnd);
reportTokenError("Invalid End Tag", _localctx.InvalidEndBlockId().getSymbol());
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(183);
match(TagStart);
setState(184);
match(BlockId);
setState(186);
_errHandler.sync(this);
_la = _input.LA(1);
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & -2050L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & 8191L) != 0)) {
{
setState(185);
other_tag_parameters();
}
}
setState(188);
match(TagEnd);
setState(192);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,11,_ctx);
while ( _alt!=1 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1+1 ) {
{
{
setState(189);
atom();
}
}
}
setState(194);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,11,_ctx);
}
reportTokenError("Missing End Tag");
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(196);
match(TagStart);
setState(197);
match(InvalidTagId);
setState(199);
_errHandler.sync(this);
_la = _input.LA(1);
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & -2050L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & 8191L) != 0)) {
{
setState(198);
other_tag_parameters();
}
}
setState(201);
match(TagEnd);
reportTokenError("Invalid Tag", _localctx.InvalidTagId().getSymbol());
}
break;
case 5:
enterOuterAlt(_localctx, 5);
{
setState(203);
match(TagStart);
setState(204);
match(InvalidEndTag);
reportTokenError("Invalid Empty Tag");
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Simple_tagContext extends ParserRuleContext {
public TerminalNode TagStart() { return getToken(LiquidParser.TagStart, 0); }
public TerminalNode SimpleTagId() { return getToken(LiquidParser.SimpleTagId, 0); }
public TerminalNode TagEnd() { return getToken(LiquidParser.TagEnd, 0); }
public Other_tag_parametersContext other_tag_parameters() {
return getRuleContext(Other_tag_parametersContext.class,0);
}
public Simple_tagContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_simple_tag; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterSimple_tag(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitSimple_tag(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitSimple_tag(this);
else return visitor.visitChildren(this);
}
}
public final Simple_tagContext simple_tag() throws RecognitionException {
Simple_tagContext _localctx = new Simple_tagContext(_ctx, getState());
enterRule(_localctx, 14, RULE_simple_tag);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(208);
match(TagStart);
setState(209);
match(SimpleTagId);
setState(211);
_errHandler.sync(this);
_la = _input.LA(1);
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & -2050L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & 8191L) != 0)) {
{
setState(210);
other_tag_parameters();
}
}
setState(213);
match(TagEnd);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Raw_tagContext extends ParserRuleContext {
public TerminalNode TagStart() { return getToken(LiquidParser.TagStart, 0); }
public TerminalNode RawStart() { return getToken(LiquidParser.RawStart, 0); }
public Raw_bodyContext raw_body() {
return getRuleContext(Raw_bodyContext.class,0);
}
public TerminalNode RawEnd() { return getToken(LiquidParser.RawEnd, 0); }
public TerminalNode TagEnd() { return getToken(LiquidParser.TagEnd, 0); }
public Raw_tagContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_raw_tag; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterRaw_tag(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitRaw_tag(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitRaw_tag(this);
else return visitor.visitChildren(this);
}
}
public final Raw_tagContext raw_tag() throws RecognitionException {
Raw_tagContext _localctx = new Raw_tagContext(_ctx, getState());
enterRule(_localctx, 16, RULE_raw_tag);
try {
enterOuterAlt(_localctx, 1);
{
setState(215);
match(TagStart);
setState(216);
match(RawStart);
setState(217);
raw_body();
setState(218);
match(RawEnd);
setState(219);
match(TagEnd);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Raw_bodyContext extends ParserRuleContext {
public List OtherRaw() { return getTokens(LiquidParser.OtherRaw); }
public TerminalNode OtherRaw(int i) {
return getToken(LiquidParser.OtherRaw, i);
}
public Raw_bodyContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_raw_body; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterRaw_body(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitRaw_body(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitRaw_body(this);
else return visitor.visitChildren(this);
}
}
public final Raw_bodyContext raw_body() throws RecognitionException {
Raw_bodyContext _localctx = new Raw_bodyContext(_ctx, getState());
enterRule(_localctx, 18, RULE_raw_body);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(224);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==OtherRaw) {
{
{
setState(221);
match(OtherRaw);
}
}
setState(226);
_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 Comment_tagContext extends ParserRuleContext {
public List TagStart() { return getTokens(LiquidParser.TagStart); }
public TerminalNode TagStart(int i) {
return getToken(LiquidParser.TagStart, i);
}
public TerminalNode CommentStart() { return getToken(LiquidParser.CommentStart, 0); }
public List TagEnd() { return getTokens(LiquidParser.TagEnd); }
public TerminalNode TagEnd(int i) {
return getToken(LiquidParser.TagEnd, i);
}
public TerminalNode CommentEnd() { return getToken(LiquidParser.CommentEnd, 0); }
public Comment_tagContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_comment_tag; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterComment_tag(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitComment_tag(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitComment_tag(this);
else return visitor.visitChildren(this);
}
}
public final Comment_tagContext comment_tag() throws RecognitionException {
Comment_tagContext _localctx = new Comment_tagContext(_ctx, getState());
enterRule(_localctx, 20, RULE_comment_tag);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(227);
match(TagStart);
setState(228);
match(CommentStart);
setState(229);
match(TagEnd);
setState(233);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,16,_ctx);
while ( _alt!=1 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1+1 ) {
{
{
setState(230);
matchWildcard();
}
}
}
setState(235);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,16,_ctx);
}
setState(236);
match(TagStart);
setState(237);
match(CommentEnd);
setState(238);
match(TagEnd);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Other_than_tag_startContext extends ParserRuleContext {
public List TagStart() { return getTokens(LiquidParser.TagStart); }
public TerminalNode TagStart(int i) {
return getToken(LiquidParser.TagStart, i);
}
public Other_than_tag_startContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_other_than_tag_start; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterOther_than_tag_start(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitOther_than_tag_start(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitOther_than_tag_start(this);
else return visitor.visitChildren(this);
}
}
public final Other_than_tag_startContext other_than_tag_start() throws RecognitionException {
Other_than_tag_startContext _localctx = new Other_than_tag_startContext(_ctx, getState());
enterRule(_localctx, 22, RULE_other_than_tag_start);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(243);
_errHandler.sync(this);
_la = _input.LA(1);
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & -130L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & 8191L) != 0)) {
{
{
setState(240);
_la = _input.LA(1);
if ( _la <= 0 || (_la==TagStart) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(245);
_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 If_tagContext extends ParserRuleContext {
public List TagStart() { return getTokens(LiquidParser.TagStart); }
public TerminalNode TagStart(int i) {
return getToken(LiquidParser.TagStart, i);
}
public TerminalNode IfStart() { return getToken(LiquidParser.IfStart, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public List TagEnd() { return getTokens(LiquidParser.TagEnd); }
public TerminalNode TagEnd(int i) {
return getToken(LiquidParser.TagEnd, i);
}
public BlockContext block() {
return getRuleContext(BlockContext.class,0);
}
public TerminalNode IfEnd() { return getToken(LiquidParser.IfEnd, 0); }
public List elsif_tag() {
return getRuleContexts(Elsif_tagContext.class);
}
public Elsif_tagContext elsif_tag(int i) {
return getRuleContext(Elsif_tagContext.class,i);
}
public Else_tagContext else_tag() {
return getRuleContext(Else_tagContext.class,0);
}
public If_tagContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_if_tag; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterIf_tag(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitIf_tag(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitIf_tag(this);
else return visitor.visitChildren(this);
}
}
public final If_tagContext if_tag() throws RecognitionException {
If_tagContext _localctx = new If_tagContext(_ctx, getState());
enterRule(_localctx, 24, RULE_if_tag);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(246);
match(TagStart);
setState(247);
match(IfStart);
setState(248);
expr(0);
setState(249);
match(TagEnd);
setState(250);
block();
setState(254);
_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(251);
elsif_tag();
}
}
}
setState(256);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,18,_ctx);
}
setState(258);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,19,_ctx) ) {
case 1:
{
setState(257);
else_tag();
}
break;
}
setState(260);
match(TagStart);
setState(261);
match(IfEnd);
setState(262);
match(TagEnd);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Elsif_tagContext extends ParserRuleContext {
public TerminalNode TagStart() { return getToken(LiquidParser.TagStart, 0); }
public TerminalNode Elsif() { return getToken(LiquidParser.Elsif, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode TagEnd() { return getToken(LiquidParser.TagEnd, 0); }
public BlockContext block() {
return getRuleContext(BlockContext.class,0);
}
public Elsif_tagContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_elsif_tag; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterElsif_tag(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitElsif_tag(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitElsif_tag(this);
else return visitor.visitChildren(this);
}
}
public final Elsif_tagContext elsif_tag() throws RecognitionException {
Elsif_tagContext _localctx = new Elsif_tagContext(_ctx, getState());
enterRule(_localctx, 26, RULE_elsif_tag);
try {
enterOuterAlt(_localctx, 1);
{
setState(264);
match(TagStart);
setState(265);
match(Elsif);
setState(266);
expr(0);
setState(267);
match(TagEnd);
setState(268);
block();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Else_tagContext extends ParserRuleContext {
public TerminalNode TagStart() { return getToken(LiquidParser.TagStart, 0); }
public TerminalNode Else() { return getToken(LiquidParser.Else, 0); }
public TerminalNode TagEnd() { return getToken(LiquidParser.TagEnd, 0); }
public BlockContext block() {
return getRuleContext(BlockContext.class,0);
}
public Else_tagContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_else_tag; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterElse_tag(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitElse_tag(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitElse_tag(this);
else return visitor.visitChildren(this);
}
}
public final Else_tagContext else_tag() throws RecognitionException {
Else_tagContext _localctx = new Else_tagContext(_ctx, getState());
enterRule(_localctx, 28, RULE_else_tag);
try {
enterOuterAlt(_localctx, 1);
{
setState(270);
match(TagStart);
setState(271);
match(Else);
setState(272);
match(TagEnd);
setState(273);
block();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Unless_tagContext extends ParserRuleContext {
public List TagStart() { return getTokens(LiquidParser.TagStart); }
public TerminalNode TagStart(int i) {
return getToken(LiquidParser.TagStart, i);
}
public TerminalNode UnlessStart() { return getToken(LiquidParser.UnlessStart, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public List TagEnd() { return getTokens(LiquidParser.TagEnd); }
public TerminalNode TagEnd(int i) {
return getToken(LiquidParser.TagEnd, i);
}
public BlockContext block() {
return getRuleContext(BlockContext.class,0);
}
public TerminalNode UnlessEnd() { return getToken(LiquidParser.UnlessEnd, 0); }
public Else_tagContext else_tag() {
return getRuleContext(Else_tagContext.class,0);
}
public Unless_tagContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_unless_tag; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterUnless_tag(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitUnless_tag(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitUnless_tag(this);
else return visitor.visitChildren(this);
}
}
public final Unless_tagContext unless_tag() throws RecognitionException {
Unless_tagContext _localctx = new Unless_tagContext(_ctx, getState());
enterRule(_localctx, 30, RULE_unless_tag);
try {
enterOuterAlt(_localctx, 1);
{
setState(275);
match(TagStart);
setState(276);
match(UnlessStart);
setState(277);
expr(0);
setState(278);
match(TagEnd);
setState(279);
block();
setState(281);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,20,_ctx) ) {
case 1:
{
setState(280);
else_tag();
}
break;
}
setState(283);
match(TagStart);
setState(284);
match(UnlessEnd);
setState(285);
match(TagEnd);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Case_tagContext extends ParserRuleContext {
public List TagStart() { return getTokens(LiquidParser.TagStart); }
public TerminalNode TagStart(int i) {
return getToken(LiquidParser.TagStart, i);
}
public TerminalNode CaseStart() { return getToken(LiquidParser.CaseStart, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public List TagEnd() { return getTokens(LiquidParser.TagEnd); }
public TerminalNode TagEnd(int i) {
return getToken(LiquidParser.TagEnd, i);
}
public TerminalNode CaseEnd() { return getToken(LiquidParser.CaseEnd, 0); }
public OtherContext other() {
return getRuleContext(OtherContext.class,0);
}
public List when_tag() {
return getRuleContexts(When_tagContext.class);
}
public When_tagContext when_tag(int i) {
return getRuleContext(When_tagContext.class,i);
}
public Else_tagContext else_tag() {
return getRuleContext(Else_tagContext.class,0);
}
public Case_tagContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_case_tag; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterCase_tag(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitCase_tag(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitCase_tag(this);
else return visitor.visitChildren(this);
}
}
public final Case_tagContext case_tag() throws RecognitionException {
Case_tagContext _localctx = new Case_tagContext(_ctx, getState());
enterRule(_localctx, 32, RULE_case_tag);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(287);
match(TagStart);
setState(288);
match(CaseStart);
setState(289);
expr(0);
setState(290);
match(TagEnd);
setState(292);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==Other) {
{
setState(291);
other();
}
}
setState(295);
_errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
setState(294);
when_tag();
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(297);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,22,_ctx);
} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
setState(300);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,23,_ctx) ) {
case 1:
{
setState(299);
else_tag();
}
break;
}
setState(302);
match(TagStart);
setState(303);
match(CaseEnd);
setState(304);
match(TagEnd);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class When_tagContext extends ParserRuleContext {
public TerminalNode TagStart() { return getToken(LiquidParser.TagStart, 0); }
public TerminalNode When() { return getToken(LiquidParser.When, 0); }
public List term() {
return getRuleContexts(TermContext.class);
}
public TermContext term(int i) {
return getRuleContext(TermContext.class,i);
}
public TerminalNode TagEnd() { return getToken(LiquidParser.TagEnd, 0); }
public BlockContext block() {
return getRuleContext(BlockContext.class,0);
}
public List Or() { return getTokens(LiquidParser.Or); }
public TerminalNode Or(int i) {
return getToken(LiquidParser.Or, i);
}
public List Comma() { return getTokens(LiquidParser.Comma); }
public TerminalNode Comma(int i) {
return getToken(LiquidParser.Comma, i);
}
public When_tagContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_when_tag; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterWhen_tag(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitWhen_tag(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitWhen_tag(this);
else return visitor.visitChildren(this);
}
}
public final When_tagContext when_tag() throws RecognitionException {
When_tagContext _localctx = new When_tagContext(_ctx, getState());
enterRule(_localctx, 34, RULE_when_tag);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(306);
match(TagStart);
setState(307);
match(When);
setState(308);
term();
setState(313);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==Comma || _la==Or) {
{
{
setState(309);
_la = _input.LA(1);
if ( !(_la==Comma || _la==Or) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(310);
term();
}
}
setState(315);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(316);
match(TagEnd);
setState(317);
block();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Cycle_tagContext extends ParserRuleContext {
public TerminalNode TagStart() { return getToken(LiquidParser.TagStart, 0); }
public TerminalNode Cycle() { return getToken(LiquidParser.Cycle, 0); }
public Cycle_groupContext cycle_group() {
return getRuleContext(Cycle_groupContext.class,0);
}
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode TagEnd() { return getToken(LiquidParser.TagEnd, 0); }
public List Comma() { return getTokens(LiquidParser.Comma); }
public TerminalNode Comma(int i) {
return getToken(LiquidParser.Comma, i);
}
public Cycle_tagContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_cycle_tag; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterCycle_tag(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitCycle_tag(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitCycle_tag(this);
else return visitor.visitChildren(this);
}
}
public final Cycle_tagContext cycle_tag() throws RecognitionException {
Cycle_tagContext _localctx = new Cycle_tagContext(_ctx, getState());
enterRule(_localctx, 36, RULE_cycle_tag);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(319);
match(TagStart);
setState(320);
match(Cycle);
setState(321);
cycle_group();
setState(322);
expr(0);
setState(327);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==Comma) {
{
{
setState(323);
match(Comma);
setState(324);
expr(0);
}
}
setState(329);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(330);
match(TagEnd);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Cycle_groupContext extends ParserRuleContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Col() { return getToken(LiquidParser.Col, 0); }
public Cycle_groupContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_cycle_group; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterCycle_group(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitCycle_group(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitCycle_group(this);
else return visitor.visitChildren(this);
}
}
public final Cycle_groupContext cycle_group() throws RecognitionException {
Cycle_groupContext _localctx = new Cycle_groupContext(_ctx, getState());
enterRule(_localctx, 38, RULE_cycle_group);
try {
enterOuterAlt(_localctx, 1);
{
setState(335);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,26,_ctx) ) {
case 1:
{
setState(332);
expr(0);
setState(333);
match(Col);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class For_tagContext extends ParserRuleContext {
public For_arrayContext for_array() {
return getRuleContext(For_arrayContext.class,0);
}
public For_rangeContext for_range() {
return getRuleContext(For_rangeContext.class,0);
}
public For_tagContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_for_tag; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterFor_tag(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitFor_tag(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitFor_tag(this);
else return visitor.visitChildren(this);
}
}
public final For_tagContext for_tag() throws RecognitionException {
For_tagContext _localctx = new For_tagContext(_ctx, getState());
enterRule(_localctx, 40, RULE_for_tag);
try {
setState(339);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,27,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(337);
for_array();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(338);
for_range();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class For_arrayContext extends ParserRuleContext {
public List TagStart() { return getTokens(LiquidParser.TagStart); }
public TerminalNode TagStart(int i) {
return getToken(LiquidParser.TagStart, i);
}
public TerminalNode ForStart() { return getToken(LiquidParser.ForStart, 0); }
public IdContext id() {
return getRuleContext(IdContext.class,0);
}
public TerminalNode In() { return getToken(LiquidParser.In, 0); }
public LookupContext lookup() {
return getRuleContext(LookupContext.class,0);
}
public List TagEnd() { return getTokens(LiquidParser.TagEnd); }
public TerminalNode TagEnd(int i) {
return getToken(LiquidParser.TagEnd, i);
}
public For_blockContext for_block() {
return getRuleContext(For_blockContext.class,0);
}
public TerminalNode ForEnd() { return getToken(LiquidParser.ForEnd, 0); }
public TerminalNode Reversed() { return getToken(LiquidParser.Reversed, 0); }
public List for_attribute() {
return getRuleContexts(For_attributeContext.class);
}
public For_attributeContext for_attribute(int i) {
return getRuleContext(For_attributeContext.class,i);
}
public For_arrayContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_for_array; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterFor_array(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitFor_array(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitFor_array(this);
else return visitor.visitChildren(this);
}
}
public final For_arrayContext for_array() throws RecognitionException {
For_arrayContext _localctx = new For_arrayContext(_ctx, getState());
enterRule(_localctx, 42, RULE_for_array);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(341);
match(TagStart);
setState(342);
match(ForStart);
setState(343);
id();
setState(344);
match(In);
setState(345);
lookup();
setState(347);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==Reversed) {
{
setState(346);
match(Reversed);
}
}
setState(352);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==Offset || _la==Id) {
{
{
setState(349);
for_attribute();
}
}
setState(354);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(355);
match(TagEnd);
setState(356);
for_block();
setState(357);
match(TagStart);
setState(358);
match(ForEnd);
setState(359);
match(TagEnd);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class For_rangeContext extends ParserRuleContext {
public ExprContext from;
public ExprContext to;
public List TagStart() { return getTokens(LiquidParser.TagStart); }
public TerminalNode TagStart(int i) {
return getToken(LiquidParser.TagStart, i);
}
public TerminalNode ForStart() { return getToken(LiquidParser.ForStart, 0); }
public IdContext id() {
return getRuleContext(IdContext.class,0);
}
public TerminalNode In() { return getToken(LiquidParser.In, 0); }
public TerminalNode OPar() { return getToken(LiquidParser.OPar, 0); }
public TerminalNode DotDot() { return getToken(LiquidParser.DotDot, 0); }
public TerminalNode CPar() { return getToken(LiquidParser.CPar, 0); }
public List TagEnd() { return getTokens(LiquidParser.TagEnd); }
public TerminalNode TagEnd(int i) {
return getToken(LiquidParser.TagEnd, i);
}
public BlockContext block() {
return getRuleContext(BlockContext.class,0);
}
public TerminalNode ForEnd() { return getToken(LiquidParser.ForEnd, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Reversed() { return getToken(LiquidParser.Reversed, 0); }
public List for_attribute() {
return getRuleContexts(For_attributeContext.class);
}
public For_attributeContext for_attribute(int i) {
return getRuleContext(For_attributeContext.class,i);
}
public For_rangeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_for_range; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterFor_range(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitFor_range(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitFor_range(this);
else return visitor.visitChildren(this);
}
}
public final For_rangeContext for_range() throws RecognitionException {
For_rangeContext _localctx = new For_rangeContext(_ctx, getState());
enterRule(_localctx, 44, RULE_for_range);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(361);
match(TagStart);
setState(362);
match(ForStart);
setState(363);
id();
setState(364);
match(In);
setState(365);
match(OPar);
setState(366);
((For_rangeContext)_localctx).from = expr(0);
setState(367);
match(DotDot);
setState(368);
((For_rangeContext)_localctx).to = expr(0);
setState(369);
match(CPar);
setState(371);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==Reversed) {
{
setState(370);
match(Reversed);
}
}
setState(376);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==Offset || _la==Id) {
{
{
setState(373);
for_attribute();
}
}
setState(378);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(379);
match(TagEnd);
setState(380);
block();
setState(381);
match(TagStart);
setState(382);
match(ForEnd);
setState(383);
match(TagEnd);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class For_blockContext extends ParserRuleContext {
public BlockContext a;
public BlockContext b;
public List block() {
return getRuleContexts(BlockContext.class);
}
public BlockContext block(int i) {
return getRuleContext(BlockContext.class,i);
}
public TerminalNode TagStart() { return getToken(LiquidParser.TagStart, 0); }
public TerminalNode Else() { return getToken(LiquidParser.Else, 0); }
public TerminalNode TagEnd() { return getToken(LiquidParser.TagEnd, 0); }
public For_blockContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_for_block; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterFor_block(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitFor_block(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitFor_block(this);
else return visitor.visitChildren(this);
}
}
public final For_blockContext for_block() throws RecognitionException {
For_blockContext _localctx = new For_blockContext(_ctx, getState());
enterRule(_localctx, 46, RULE_for_block);
try {
enterOuterAlt(_localctx, 1);
{
setState(385);
((For_blockContext)_localctx).a = block();
setState(390);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,32,_ctx) ) {
case 1:
{
setState(386);
match(TagStart);
setState(387);
match(Else);
setState(388);
match(TagEnd);
setState(389);
((For_blockContext)_localctx).b = block();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class For_attributeContext extends ParserRuleContext {
public TerminalNode Offset() { return getToken(LiquidParser.Offset, 0); }
public TerminalNode Col() { return getToken(LiquidParser.Col, 0); }
public TerminalNode Continue() { return getToken(LiquidParser.Continue, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Id() { return getToken(LiquidParser.Id, 0); }
public For_attributeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_for_attribute; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterFor_attribute(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitFor_attribute(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitFor_attribute(this);
else return visitor.visitChildren(this);
}
}
public final For_attributeContext for_attribute() throws RecognitionException {
For_attributeContext _localctx = new For_attributeContext(_ctx, getState());
enterRule(_localctx, 48, RULE_for_attribute);
try {
setState(401);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,33,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(392);
match(Offset);
setState(393);
match(Col);
setState(394);
match(Continue);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(395);
match(Offset);
setState(396);
match(Col);
setState(397);
expr(0);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(398);
match(Id);
setState(399);
match(Col);
setState(400);
expr(0);
}
break;
}
}
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 Offset() { return getToken(LiquidParser.Offset, 0); }
public TerminalNode Col() { return getToken(LiquidParser.Col, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Id() { return getToken(LiquidParser.Id, 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 LiquidParserListener ) ((LiquidParserListener)listener).enterAttribute(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitAttribute(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitAttribute(this);
else return visitor.visitChildren(this);
}
}
public final AttributeContext attribute() throws RecognitionException {
AttributeContext _localctx = new AttributeContext(_ctx, getState());
enterRule(_localctx, 50, RULE_attribute);
try {
setState(409);
_errHandler.sync(this);
switch (_input.LA(1)) {
case Offset:
enterOuterAlt(_localctx, 1);
{
setState(403);
match(Offset);
setState(404);
match(Col);
setState(405);
expr(0);
}
break;
case Id:
enterOuterAlt(_localctx, 2);
{
setState(406);
match(Id);
setState(407);
match(Col);
setState(408);
expr(0);
}
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 Table_tagContext extends ParserRuleContext {
public List TagStart() { return getTokens(LiquidParser.TagStart); }
public TerminalNode TagStart(int i) {
return getToken(LiquidParser.TagStart, i);
}
public TerminalNode TableStart() { return getToken(LiquidParser.TableStart, 0); }
public IdContext id() {
return getRuleContext(IdContext.class,0);
}
public TerminalNode In() { return getToken(LiquidParser.In, 0); }
public LookupContext lookup() {
return getRuleContext(LookupContext.class,0);
}
public List TagEnd() { return getTokens(LiquidParser.TagEnd); }
public TerminalNode TagEnd(int i) {
return getToken(LiquidParser.TagEnd, i);
}
public BlockContext block() {
return getRuleContext(BlockContext.class,0);
}
public TerminalNode TableEnd() { return getToken(LiquidParser.TableEnd, 0); }
public List attribute() {
return getRuleContexts(AttributeContext.class);
}
public AttributeContext attribute(int i) {
return getRuleContext(AttributeContext.class,i);
}
public Table_tagContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_table_tag; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterTable_tag(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitTable_tag(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitTable_tag(this);
else return visitor.visitChildren(this);
}
}
public final Table_tagContext table_tag() throws RecognitionException {
Table_tagContext _localctx = new Table_tagContext(_ctx, getState());
enterRule(_localctx, 52, RULE_table_tag);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(411);
match(TagStart);
setState(412);
match(TableStart);
setState(413);
id();
setState(414);
match(In);
setState(415);
lookup();
setState(419);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==Offset || _la==Id) {
{
{
setState(416);
attribute();
}
}
setState(421);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(422);
match(TagEnd);
setState(423);
block();
setState(424);
match(TagStart);
setState(425);
match(TableEnd);
setState(426);
match(TagEnd);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Capture_tagContext extends ParserRuleContext {
public Capture_tagContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_capture_tag; }
public Capture_tagContext() { }
public void copyFrom(Capture_tagContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Capture_tag_IdContext extends Capture_tagContext {
public List TagStart() { return getTokens(LiquidParser.TagStart); }
public TerminalNode TagStart(int i) {
return getToken(LiquidParser.TagStart, i);
}
public TerminalNode CaptureStart() { return getToken(LiquidParser.CaptureStart, 0); }
public IdContext id() {
return getRuleContext(IdContext.class,0);
}
public List TagEnd() { return getTokens(LiquidParser.TagEnd); }
public TerminalNode TagEnd(int i) {
return getToken(LiquidParser.TagEnd, i);
}
public BlockContext block() {
return getRuleContext(BlockContext.class,0);
}
public TerminalNode CaptureEnd() { return getToken(LiquidParser.CaptureEnd, 0); }
public Capture_tag_IdContext(Capture_tagContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterCapture_tag_Id(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitCapture_tag_Id(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitCapture_tag_Id(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Capture_tag_StrContext extends Capture_tagContext {
public List TagStart() { return getTokens(LiquidParser.TagStart); }
public TerminalNode TagStart(int i) {
return getToken(LiquidParser.TagStart, i);
}
public TerminalNode CaptureStart() { return getToken(LiquidParser.CaptureStart, 0); }
public TerminalNode Str() { return getToken(LiquidParser.Str, 0); }
public List TagEnd() { return getTokens(LiquidParser.TagEnd); }
public TerminalNode TagEnd(int i) {
return getToken(LiquidParser.TagEnd, i);
}
public BlockContext block() {
return getRuleContext(BlockContext.class,0);
}
public TerminalNode CaptureEnd() { return getToken(LiquidParser.CaptureEnd, 0); }
public Capture_tag_StrContext(Capture_tagContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterCapture_tag_Str(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitCapture_tag_Str(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitCapture_tag_Str(this);
else return visitor.visitChildren(this);
}
}
public final Capture_tagContext capture_tag() throws RecognitionException {
Capture_tagContext _localctx = new Capture_tagContext(_ctx, getState());
enterRule(_localctx, 54, RULE_capture_tag);
try {
setState(446);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,36,_ctx) ) {
case 1:
_localctx = new Capture_tag_IdContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(428);
match(TagStart);
setState(429);
match(CaptureStart);
setState(430);
id();
setState(431);
match(TagEnd);
setState(432);
block();
setState(433);
match(TagStart);
setState(434);
match(CaptureEnd);
setState(435);
match(TagEnd);
}
break;
case 2:
_localctx = new Capture_tag_StrContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(437);
match(TagStart);
setState(438);
match(CaptureStart);
setState(439);
match(Str);
setState(440);
match(TagEnd);
setState(441);
block();
setState(442);
match(TagStart);
setState(443);
match(CaptureEnd);
setState(444);
match(TagEnd);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Include_tagContext extends ParserRuleContext {
public Token liquid;
public Token jekyll;
public TerminalNode TagStart() { return getToken(LiquidParser.TagStart, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode TagEnd() { return getToken(LiquidParser.TagEnd, 0); }
public TerminalNode Include() { return getToken(LiquidParser.Include, 0); }
public TerminalNode With() { return getToken(LiquidParser.With, 0); }
public TerminalNode Str() { return getToken(LiquidParser.Str, 0); }
public File_name_or_outputContext file_name_or_output() {
return getRuleContext(File_name_or_outputContext.class,0);
}
public List jekyll_include_params() {
return getRuleContexts(Jekyll_include_paramsContext.class);
}
public Jekyll_include_paramsContext jekyll_include_params(int i) {
return getRuleContext(Jekyll_include_paramsContext.class,i);
}
public Include_tagContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_include_tag; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterInclude_tag(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitInclude_tag(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitInclude_tag(this);
else return visitor.visitChildren(this);
}
}
public final Include_tagContext include_tag() throws RecognitionException {
Include_tagContext _localctx = new Include_tagContext(_ctx, getState());
enterRule(_localctx, 56, RULE_include_tag);
int _la;
try {
setState(470);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,39,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(448);
if (!(isLiquidStyleInclude())) throw new FailedPredicateException(this, "isLiquidStyleInclude()");
setState(449);
match(TagStart);
setState(450);
((Include_tagContext)_localctx).liquid = match(Include);
setState(451);
expr(0);
setState(454);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==With) {
{
setState(452);
match(With);
setState(453);
match(Str);
}
}
setState(456);
match(TagEnd);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(458);
if (!(isJekyllStyleInclude())) throw new FailedPredicateException(this, "isJekyllStyleInclude()");
setState(459);
match(TagStart);
setState(460);
((Include_tagContext)_localctx).jekyll = match(Include);
setState(461);
file_name_or_output();
setState(465);
_errHandler.sync(this);
_la = _input.LA(1);
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & -3874163580207090L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & 2559L) != 0)) {
{
{
setState(462);
jekyll_include_params();
}
}
setState(467);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(468);
match(TagEnd);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Include_relative_tagContext extends ParserRuleContext {
public TerminalNode TagStart() { return getToken(LiquidParser.TagStart, 0); }
public TerminalNode IncludeRelative() { return getToken(LiquidParser.IncludeRelative, 0); }
public File_name_or_outputContext file_name_or_output() {
return getRuleContext(File_name_or_outputContext.class,0);
}
public TerminalNode TagEnd() { return getToken(LiquidParser.TagEnd, 0); }
public List jekyll_include_params() {
return getRuleContexts(Jekyll_include_paramsContext.class);
}
public Jekyll_include_paramsContext jekyll_include_params(int i) {
return getRuleContext(Jekyll_include_paramsContext.class,i);
}
public Include_relative_tagContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_include_relative_tag; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterInclude_relative_tag(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitInclude_relative_tag(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitInclude_relative_tag(this);
else return visitor.visitChildren(this);
}
}
public final Include_relative_tagContext include_relative_tag() throws RecognitionException {
Include_relative_tagContext _localctx = new Include_relative_tagContext(_ctx, getState());
enterRule(_localctx, 58, RULE_include_relative_tag);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(472);
if (!(isJekyllStyleInclude())) throw new FailedPredicateException(this, "isJekyllStyleInclude()");
setState(473);
match(TagStart);
setState(474);
match(IncludeRelative);
setState(475);
file_name_or_output();
setState(479);
_errHandler.sync(this);
_la = _input.LA(1);
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & -3874163580207090L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & 2559L) != 0)) {
{
{
setState(476);
jekyll_include_params();
}
}
setState(481);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(482);
match(TagEnd);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class File_name_or_outputContext extends ParserRuleContext {
public File_name_or_outputContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_file_name_or_output; }
public File_name_or_outputContext() { }
public void copyFrom(File_name_or_outputContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Jekyll_include_filenameContext extends File_name_or_outputContext {
public FilenameContext filename() {
return getRuleContext(FilenameContext.class,0);
}
public Jekyll_include_filenameContext(File_name_or_outputContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterJekyll_include_filename(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitJekyll_include_filename(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitJekyll_include_filename(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Jekyll_include_outputContext extends File_name_or_outputContext {
public OutputContext output() {
return getRuleContext(OutputContext.class,0);
}
public Jekyll_include_outputContext(File_name_or_outputContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterJekyll_include_output(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitJekyll_include_output(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitJekyll_include_output(this);
else return visitor.visitChildren(this);
}
}
public final File_name_or_outputContext file_name_or_output() throws RecognitionException {
File_name_or_outputContext _localctx = new File_name_or_outputContext(_ctx, getState());
enterRule(_localctx, 60, RULE_file_name_or_output);
try {
setState(486);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,41,_ctx) ) {
case 1:
_localctx = new Jekyll_include_outputContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(484);
output();
}
break;
case 2:
_localctx = new Jekyll_include_filenameContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(485);
filename();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Jekyll_include_paramsContext extends ParserRuleContext {
public IdContext id() {
return getRuleContext(IdContext.class,0);
}
public TerminalNode EqSign() { return getToken(LiquidParser.EqSign, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public Jekyll_include_paramsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_jekyll_include_params; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterJekyll_include_params(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitJekyll_include_params(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitJekyll_include_params(this);
else return visitor.visitChildren(this);
}
}
public final Jekyll_include_paramsContext jekyll_include_params() throws RecognitionException {
Jekyll_include_paramsContext _localctx = new Jekyll_include_paramsContext(_ctx, getState());
enterRule(_localctx, 62, RULE_jekyll_include_params);
try {
enterOuterAlt(_localctx, 1);
{
setState(488);
id();
setState(489);
match(EqSign);
setState(490);
expr(0);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class OutputContext extends ParserRuleContext {
public ExprContext evaluate;
public Not_out_endContext unparsed;
public OutStartContext outStart() {
return getRuleContext(OutStartContext.class,0);
}
public TerminalNode OutEnd() { return getToken(LiquidParser.OutEnd, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public List filter() {
return getRuleContexts(FilterContext.class);
}
public FilterContext filter(int i) {
return getRuleContext(FilterContext.class,i);
}
public TermContext term() {
return getRuleContext(TermContext.class,0);
}
public Not_out_endContext not_out_end() {
return getRuleContext(Not_out_endContext.class,0);
}
public OutputContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_output; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterOutput(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitOutput(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitOutput(this);
else return visitor.visitChildren(this);
}
}
public final OutputContext output() throws RecognitionException {
OutputContext _localctx = new OutputContext(_ctx, getState());
enterRule(_localctx, 64, RULE_output);
int _la;
try {
int _alt;
setState(528);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,46,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(492);
if (!(isEvaluateInOutputTag())) throw new FailedPredicateException(this, "isEvaluateInOutputTag()");
setState(493);
outStart();
setState(494);
((OutputContext)_localctx).evaluate = expr(0);
setState(498);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==Pipe) {
{
{
setState(495);
filter();
}
}
setState(500);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(501);
match(OutEnd);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(503);
if (!(isStrict())) throw new FailedPredicateException(this, "isStrict()");
setState(504);
outStart();
setState(505);
term();
setState(509);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==Pipe) {
{
{
setState(506);
filter();
}
}
setState(511);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(512);
match(OutEnd);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(514);
if (!(isWarn() || isLax())) throw new FailedPredicateException(this, "isWarn() || isLax()");
setState(515);
outStart();
setState(516);
term();
setState(520);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,44,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(517);
filter();
}
}
}
setState(522);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,44,_ctx);
}
setState(524);
_errHandler.sync(this);
_la = _input.LA(1);
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & -1026L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & 8191L) != 0)) {
{
setState(523);
((OutputContext)_localctx).unparsed = not_out_end();
}
}
setState(526);
match(OutEnd);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Not_out_endContext extends ParserRuleContext {
public List OutEnd() { return getTokens(LiquidParser.OutEnd); }
public TerminalNode OutEnd(int i) {
return getToken(LiquidParser.OutEnd, i);
}
public Not_out_endContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_not_out_end; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterNot_out_end(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitNot_out_end(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitNot_out_end(this);
else return visitor.visitChildren(this);
}
}
public final Not_out_endContext not_out_end() throws RecognitionException {
Not_out_endContext _localctx = new Not_out_endContext(_ctx, getState());
enterRule(_localctx, 66, RULE_not_out_end);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(531);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(530);
_la = _input.LA(1);
if ( _la <= 0 || (_la==OutEnd) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(533);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & -1026L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & 8191L) != 0) );
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class FilterContext extends ParserRuleContext {
public TerminalNode Pipe() { return getToken(LiquidParser.Pipe, 0); }
public TerminalNode Id() { return getToken(LiquidParser.Id, 0); }
public ParamsContext params() {
return getRuleContext(ParamsContext.class,0);
}
public FilterContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_filter; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterFilter(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitFilter(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitFilter(this);
else return visitor.visitChildren(this);
}
}
public final FilterContext filter() throws RecognitionException {
FilterContext _localctx = new FilterContext(_ctx, getState());
enterRule(_localctx, 68, RULE_filter);
try {
enterOuterAlt(_localctx, 1);
{
setState(535);
match(Pipe);
setState(536);
match(Id);
setState(538);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,48,_ctx) ) {
case 1:
{
setState(537);
params();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ParamsContext extends ParserRuleContext {
public TerminalNode Col() { return getToken(LiquidParser.Col, 0); }
public List param_expr() {
return getRuleContexts(Param_exprContext.class);
}
public Param_exprContext param_expr(int i) {
return getRuleContext(Param_exprContext.class,i);
}
public List Comma() { return getTokens(LiquidParser.Comma); }
public TerminalNode Comma(int i) {
return getToken(LiquidParser.Comma, i);
}
public ParamsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_params; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterParams(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitParams(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitParams(this);
else return visitor.visitChildren(this);
}
}
public final ParamsContext params() throws RecognitionException {
ParamsContext _localctx = new ParamsContext(_ctx, getState());
enterRule(_localctx, 70, RULE_params);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(540);
match(Col);
setState(541);
param_expr();
setState(546);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,49,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(542);
match(Comma);
setState(543);
param_expr();
}
}
}
setState(548);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,49,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Param_exprContext extends ParserRuleContext {
public Param_exprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_param_expr; }
public Param_exprContext() { }
public void copyFrom(Param_exprContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Param_expr_exprContext extends Param_exprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public Param_expr_exprContext(Param_exprContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterParam_expr_expr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitParam_expr_expr(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitParam_expr_expr(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Param_expr_key_valueContext extends Param_exprContext {
public Id2Context id2() {
return getRuleContext(Id2Context.class,0);
}
public TerminalNode Col() { return getToken(LiquidParser.Col, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public Param_expr_key_valueContext(Param_exprContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterParam_expr_key_value(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitParam_expr_key_value(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitParam_expr_key_value(this);
else return visitor.visitChildren(this);
}
}
public final Param_exprContext param_expr() throws RecognitionException {
Param_exprContext _localctx = new Param_exprContext(_ctx, getState());
enterRule(_localctx, 72, RULE_param_expr);
try {
setState(554);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,50,_ctx) ) {
case 1:
_localctx = new Param_expr_key_valueContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(549);
id2();
setState(550);
match(Col);
setState(551);
expr(0);
}
break;
case 2:
_localctx = new Param_expr_exprContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(553);
expr(0);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class AssignmentContext extends ParserRuleContext {
public TerminalNode TagStart() { return getToken(LiquidParser.TagStart, 0); }
public TerminalNode Assign() { return getToken(LiquidParser.Assign, 0); }
public IdContext id() {
return getRuleContext(IdContext.class,0);
}
public TerminalNode EqSign() { return getToken(LiquidParser.EqSign, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode TagEnd() { return getToken(LiquidParser.TagEnd, 0); }
public List filter() {
return getRuleContexts(FilterContext.class);
}
public FilterContext filter(int i) {
return getRuleContext(FilterContext.class,i);
}
public AssignmentContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_assignment; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterAssignment(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitAssignment(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitAssignment(this);
else return visitor.visitChildren(this);
}
}
public final AssignmentContext assignment() throws RecognitionException {
AssignmentContext _localctx = new AssignmentContext(_ctx, getState());
enterRule(_localctx, 74, RULE_assignment);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(556);
match(TagStart);
setState(557);
match(Assign);
setState(558);
id();
setState(559);
match(EqSign);
setState(560);
expr(0);
setState(564);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==Pipe) {
{
{
setState(561);
filter();
}
}
setState(566);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(567);
match(TagEnd);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ExprContext extends ParserRuleContext {
public ExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_expr; }
public ExprContext() { }
public void copyFrom(ExprContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Expr_containsContext extends ExprContext {
public ExprContext lhs;
public ExprContext rhs;
public TerminalNode Contains() { return getToken(LiquidParser.Contains, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public Expr_containsContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterExpr_contains(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitExpr_contains(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitExpr_contains(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Expr_termContext extends ExprContext {
public TermContext term() {
return getRuleContext(TermContext.class,0);
}
public Expr_termContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterExpr_term(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitExpr_term(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitExpr_term(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Expr_relContext extends ExprContext {
public ExprContext lhs;
public Token op;
public ExprContext rhs;
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode LtEq() { return getToken(LiquidParser.LtEq, 0); }
public TerminalNode Lt() { return getToken(LiquidParser.Lt, 0); }
public TerminalNode GtEq() { return getToken(LiquidParser.GtEq, 0); }
public TerminalNode Gt() { return getToken(LiquidParser.Gt, 0); }
public Expr_relContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterExpr_rel(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitExpr_rel(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitExpr_rel(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Expr_eqContext extends ExprContext {
public ExprContext lhs;
public Token op;
public ExprContext rhs;
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Eq() { return getToken(LiquidParser.Eq, 0); }
public TerminalNode NEq() { return getToken(LiquidParser.NEq, 0); }
public Expr_eqContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterExpr_eq(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitExpr_eq(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitExpr_eq(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Expr_logicContext extends ExprContext {
public ExprContext lhs;
public Token op;
public ExprContext rhs;
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode And() { return getToken(LiquidParser.And, 0); }
public TerminalNode Or() { return getToken(LiquidParser.Or, 0); }
public Expr_logicContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterExpr_logic(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitExpr_logic(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitExpr_logic(this);
else return visitor.visitChildren(this);
}
}
public final ExprContext expr() throws RecognitionException {
return expr(0);
}
private ExprContext expr(int _p) throws RecognitionException {
ParserRuleContext _parentctx = _ctx;
int _parentState = getState();
ExprContext _localctx = new ExprContext(_ctx, _parentState);
ExprContext _prevctx = _localctx;
int _startState = 76;
enterRecursionRule(_localctx, 76, RULE_expr, _p);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
{
_localctx = new Expr_termContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(570);
term();
}
_ctx.stop = _input.LT(-1);
setState(586);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,53,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
if ( _parseListeners!=null ) triggerExitRuleEvent();
_prevctx = _localctx;
{
setState(584);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,52,_ctx) ) {
case 1:
{
_localctx = new Expr_relContext(new ExprContext(_parentctx, _parentState));
((Expr_relContext)_localctx).lhs = _prevctx;
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(572);
if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)");
setState(573);
((Expr_relContext)_localctx).op = _input.LT(1);
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 3932160L) != 0)) ) {
((Expr_relContext)_localctx).op = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(574);
((Expr_relContext)_localctx).rhs = expr(6);
}
break;
case 2:
{
_localctx = new Expr_eqContext(new ExprContext(_parentctx, _parentState));
((Expr_eqContext)_localctx).lhs = _prevctx;
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(575);
if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
setState(576);
((Expr_eqContext)_localctx).op = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==NEq || _la==Eq) ) {
((Expr_eqContext)_localctx).op = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(577);
((Expr_eqContext)_localctx).rhs = expr(5);
}
break;
case 3:
{
_localctx = new Expr_containsContext(new ExprContext(_parentctx, _parentState));
((Expr_containsContext)_localctx).lhs = _prevctx;
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(578);
if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
setState(579);
match(Contains);
setState(580);
((Expr_containsContext)_localctx).rhs = expr(4);
}
break;
case 4:
{
_localctx = new Expr_logicContext(new ExprContext(_parentctx, _parentState));
((Expr_logicContext)_localctx).lhs = _prevctx;
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(581);
if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
setState(582);
((Expr_logicContext)_localctx).op = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==And || _la==Or) ) {
((Expr_logicContext)_localctx).op = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(583);
((Expr_logicContext)_localctx).rhs = expr(2);
}
break;
}
}
}
setState(588);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,53,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
unrollRecursionContexts(_parentctx);
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class TermContext extends ParserRuleContext {
public TermContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_term; }
public TermContext() { }
public void copyFrom(TermContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Term_DoubleNumContext extends TermContext {
public TerminalNode DoubleNum() { return getToken(LiquidParser.DoubleNum, 0); }
public Term_DoubleNumContext(TermContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterTerm_DoubleNum(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitTerm_DoubleNum(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitTerm_DoubleNum(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Term_lookupContext extends TermContext {
public LookupContext lookup() {
return getRuleContext(LookupContext.class,0);
}
public Term_lookupContext(TermContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterTerm_lookup(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitTerm_lookup(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitTerm_lookup(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Term_exprContext extends TermContext {
public TerminalNode OPar() { return getToken(LiquidParser.OPar, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode CPar() { return getToken(LiquidParser.CPar, 0); }
public Term_exprContext(TermContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterTerm_expr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitTerm_expr(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitTerm_expr(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Term_TrueContext extends TermContext {
public TerminalNode True() { return getToken(LiquidParser.True, 0); }
public Term_TrueContext(TermContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterTerm_True(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitTerm_True(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitTerm_True(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Term_BlankContext extends TermContext {
public TerminalNode Blank() { return getToken(LiquidParser.Blank, 0); }
public Term_BlankContext(TermContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterTerm_Blank(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitTerm_Blank(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitTerm_Blank(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Term_LongNumContext extends TermContext {
public TerminalNode LongNum() { return getToken(LiquidParser.LongNum, 0); }
public Term_LongNumContext(TermContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterTerm_LongNum(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitTerm_LongNum(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitTerm_LongNum(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Term_FalseContext extends TermContext {
public TerminalNode False() { return getToken(LiquidParser.False, 0); }
public Term_FalseContext(TermContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterTerm_False(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitTerm_False(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitTerm_False(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Term_EmptyContext extends TermContext {
public TerminalNode Empty() { return getToken(LiquidParser.Empty, 0); }
public Term_EmptyContext(TermContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterTerm_Empty(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitTerm_Empty(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitTerm_Empty(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Term_StrContext extends TermContext {
public TerminalNode Str() { return getToken(LiquidParser.Str, 0); }
public Term_StrContext(TermContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterTerm_Str(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitTerm_Str(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitTerm_Str(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Term_NilContext extends TermContext {
public TerminalNode Nil() { return getToken(LiquidParser.Nil, 0); }
public Term_NilContext(TermContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterTerm_Nil(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitTerm_Nil(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitTerm_Nil(this);
else return visitor.visitChildren(this);
}
}
public final TermContext term() throws RecognitionException {
TermContext _localctx = new TermContext(_ctx, getState());
enterRule(_localctx, 78, RULE_term);
try {
setState(602);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,54,_ctx) ) {
case 1:
_localctx = new Term_DoubleNumContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(589);
match(DoubleNum);
}
break;
case 2:
_localctx = new Term_LongNumContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(590);
match(LongNum);
}
break;
case 3:
_localctx = new Term_StrContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(591);
match(Str);
}
break;
case 4:
_localctx = new Term_TrueContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(592);
match(True);
}
break;
case 5:
_localctx = new Term_FalseContext(_localctx);
enterOuterAlt(_localctx, 5);
{
setState(593);
match(False);
}
break;
case 6:
_localctx = new Term_NilContext(_localctx);
enterOuterAlt(_localctx, 6);
{
setState(594);
match(Nil);
}
break;
case 7:
_localctx = new Term_lookupContext(_localctx);
enterOuterAlt(_localctx, 7);
{
setState(595);
lookup();
}
break;
case 8:
_localctx = new Term_EmptyContext(_localctx);
enterOuterAlt(_localctx, 8);
{
setState(596);
match(Empty);
}
break;
case 9:
_localctx = new Term_BlankContext(_localctx);
enterOuterAlt(_localctx, 9);
{
setState(597);
match(Blank);
}
break;
case 10:
_localctx = new Term_exprContext(_localctx);
enterOuterAlt(_localctx, 10);
{
setState(598);
match(OPar);
setState(599);
expr(0);
setState(600);
match(CPar);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class LookupContext extends ParserRuleContext {
public LookupContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_lookup; }
public LookupContext() { }
public void copyFrom(LookupContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Lookup_IdContext extends LookupContext {
public TerminalNode OBr() { return getToken(LiquidParser.OBr, 0); }
public TerminalNode Id() { return getToken(LiquidParser.Id, 0); }
public TerminalNode CBr() { return getToken(LiquidParser.CBr, 0); }
public TerminalNode QMark() { return getToken(LiquidParser.QMark, 0); }
public Lookup_IdContext(LookupContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterLookup_Id(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitLookup_Id(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitLookup_Id(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Lookup_id_indexesContext extends LookupContext {
public IdContext id() {
return getRuleContext(IdContext.class,0);
}
public List index() {
return getRuleContexts(IndexContext.class);
}
public IndexContext index(int i) {
return getRuleContext(IndexContext.class,i);
}
public TerminalNode QMark() { return getToken(LiquidParser.QMark, 0); }
public Lookup_id_indexesContext(LookupContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterLookup_id_indexes(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitLookup_id_indexes(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitLookup_id_indexes(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Lookup_emptyContext extends LookupContext {
public TerminalNode Empty() { return getToken(LiquidParser.Empty, 0); }
public Lookup_emptyContext(LookupContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterLookup_empty(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitLookup_empty(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitLookup_empty(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class Lookup_StrContext extends LookupContext {
public TerminalNode OBr() { return getToken(LiquidParser.OBr, 0); }
public TerminalNode Str() { return getToken(LiquidParser.Str, 0); }
public TerminalNode CBr() { return getToken(LiquidParser.CBr, 0); }
public TerminalNode QMark() { return getToken(LiquidParser.QMark, 0); }
public Lookup_StrContext(LookupContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterLookup_Str(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitLookup_Str(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitLookup_Str(this);
else return visitor.visitChildren(this);
}
}
public final LookupContext lookup() throws RecognitionException {
LookupContext _localctx = new LookupContext(_ctx, getState());
enterRule(_localctx, 80, RULE_lookup);
try {
int _alt;
setState(627);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,59,_ctx) ) {
case 1:
_localctx = new Lookup_emptyContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(604);
match(Empty);
}
break;
case 2:
_localctx = new Lookup_id_indexesContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(605);
id();
setState(609);
_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(606);
index();
}
}
}
setState(611);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,55,_ctx);
}
setState(613);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,56,_ctx) ) {
case 1:
{
setState(612);
match(QMark);
}
break;
}
}
break;
case 3:
_localctx = new Lookup_StrContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(615);
match(OBr);
setState(616);
match(Str);
setState(617);
match(CBr);
setState(619);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,57,_ctx) ) {
case 1:
{
setState(618);
match(QMark);
}
break;
}
}
break;
case 4:
_localctx = new Lookup_IdContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(621);
match(OBr);
setState(622);
match(Id);
setState(623);
match(CBr);
setState(625);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,58,_ctx) ) {
case 1:
{
setState(624);
match(QMark);
}
break;
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class IdContext extends ParserRuleContext {
public TerminalNode Id() { return getToken(LiquidParser.Id, 0); }
public TerminalNode CaptureStart() { return getToken(LiquidParser.CaptureStart, 0); }
public TerminalNode CaptureEnd() { return getToken(LiquidParser.CaptureEnd, 0); }
public TerminalNode CommentStart() { return getToken(LiquidParser.CommentStart, 0); }
public TerminalNode CommentEnd() { return getToken(LiquidParser.CommentEnd, 0); }
public TerminalNode RawStart() { return getToken(LiquidParser.RawStart, 0); }
public TerminalNode RawEnd() { return getToken(LiquidParser.RawEnd, 0); }
public TerminalNode IfStart() { return getToken(LiquidParser.IfStart, 0); }
public TerminalNode Elsif() { return getToken(LiquidParser.Elsif, 0); }
public TerminalNode IfEnd() { return getToken(LiquidParser.IfEnd, 0); }
public TerminalNode UnlessStart() { return getToken(LiquidParser.UnlessStart, 0); }
public TerminalNode UnlessEnd() { return getToken(LiquidParser.UnlessEnd, 0); }
public TerminalNode Else() { return getToken(LiquidParser.Else, 0); }
public TerminalNode Contains() { return getToken(LiquidParser.Contains, 0); }
public TerminalNode CaseStart() { return getToken(LiquidParser.CaseStart, 0); }
public TerminalNode CaseEnd() { return getToken(LiquidParser.CaseEnd, 0); }
public TerminalNode When() { return getToken(LiquidParser.When, 0); }
public TerminalNode Cycle() { return getToken(LiquidParser.Cycle, 0); }
public TerminalNode ForStart() { return getToken(LiquidParser.ForStart, 0); }
public TerminalNode ForEnd() { return getToken(LiquidParser.ForEnd, 0); }
public TerminalNode In() { return getToken(LiquidParser.In, 0); }
public TerminalNode And() { return getToken(LiquidParser.And, 0); }
public TerminalNode Or() { return getToken(LiquidParser.Or, 0); }
public TerminalNode TableStart() { return getToken(LiquidParser.TableStart, 0); }
public TerminalNode TableEnd() { return getToken(LiquidParser.TableEnd, 0); }
public TerminalNode Assign() { return getToken(LiquidParser.Assign, 0); }
public TerminalNode Include() { return getToken(LiquidParser.Include, 0); }
public TerminalNode With() { return getToken(LiquidParser.With, 0); }
public TerminalNode Offset() { return getToken(LiquidParser.Offset, 0); }
public TerminalNode Continue() { return getToken(LiquidParser.Continue, 0); }
public TerminalNode Reversed() { return getToken(LiquidParser.Reversed, 0); }
public TerminalNode BlockId() { return getToken(LiquidParser.BlockId, 0); }
public TerminalNode EndBlockId() { return getToken(LiquidParser.EndBlockId, 0); }
public TerminalNode SimpleTagId() { return getToken(LiquidParser.SimpleTagId, 0); }
public IdContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_id; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterId(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitId(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitId(this);
else return visitor.visitChildren(this);
}
}
public final IdContext id() throws RecognitionException {
IdContext _localctx = new IdContext(_ctx, getState());
enterRule(_localctx, 82, RULE_id);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(629);
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & -3874163580207090L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & 2559L) != 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 Id2Context extends ParserRuleContext {
public IdContext id() {
return getRuleContext(IdContext.class,0);
}
public TerminalNode Empty() { return getToken(LiquidParser.Empty, 0); }
public TerminalNode Nil() { return getToken(LiquidParser.Nil, 0); }
public TerminalNode True() { return getToken(LiquidParser.True, 0); }
public TerminalNode False() { return getToken(LiquidParser.False, 0); }
public Id2Context(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_id2; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterId2(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitId2(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitId2(this);
else return visitor.visitChildren(this);
}
}
public final Id2Context id2() throws RecognitionException {
Id2Context _localctx = new Id2Context(_ctx, getState());
enterRule(_localctx, 84, RULE_id2);
try {
setState(636);
_errHandler.sync(this);
switch (_input.LA(1)) {
case BlockId:
case EndBlockId:
case SimpleTagId:
case Contains:
case In:
case And:
case Or:
case With:
case Offset:
case Continue:
case Reversed:
case Id:
case CaptureStart:
case CaptureEnd:
case CommentStart:
case CommentEnd:
case RawStart:
case IfStart:
case Elsif:
case IfEnd:
case UnlessStart:
case UnlessEnd:
case Else:
case CaseStart:
case CaseEnd:
case When:
case Cycle:
case ForStart:
case ForEnd:
case TableStart:
case TableEnd:
case Assign:
case Include:
case RawEnd:
enterOuterAlt(_localctx, 1);
{
setState(631);
id();
}
break;
case Empty:
enterOuterAlt(_localctx, 2);
{
setState(632);
match(Empty);
}
break;
case Nil:
enterOuterAlt(_localctx, 3);
{
setState(633);
match(Nil);
}
break;
case True:
enterOuterAlt(_localctx, 4);
{
setState(634);
match(True);
}
break;
case False:
enterOuterAlt(_localctx, 5);
{
setState(635);
match(False);
}
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 IndexContext extends ParserRuleContext {
public TerminalNode Dot() { return getToken(LiquidParser.Dot, 0); }
public Id2Context id2() {
return getRuleContext(Id2Context.class,0);
}
public TerminalNode OBr() { return getToken(LiquidParser.OBr, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode CBr() { return getToken(LiquidParser.CBr, 0); }
public IndexContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_index; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterIndex(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitIndex(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitIndex(this);
else return visitor.visitChildren(this);
}
}
public final IndexContext index() throws RecognitionException {
IndexContext _localctx = new IndexContext(_ctx, getState());
enterRule(_localctx, 86, RULE_index);
try {
setState(644);
_errHandler.sync(this);
switch (_input.LA(1)) {
case Dot:
enterOuterAlt(_localctx, 1);
{
setState(638);
match(Dot);
setState(639);
id2();
}
break;
case OBr:
enterOuterAlt(_localctx, 2);
{
setState(640);
match(OBr);
setState(641);
expr(0);
setState(642);
match(CBr);
}
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 Other_tag_parametersContext extends ParserRuleContext {
public Other_than_tag_endContext other_than_tag_end() {
return getRuleContext(Other_than_tag_endContext.class,0);
}
public Other_tag_parametersContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_other_tag_parameters; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterOther_tag_parameters(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitOther_tag_parameters(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitOther_tag_parameters(this);
else return visitor.visitChildren(this);
}
}
public final Other_tag_parametersContext other_tag_parameters() throws RecognitionException {
Other_tag_parametersContext _localctx = new Other_tag_parametersContext(_ctx, getState());
enterRule(_localctx, 88, RULE_other_tag_parameters);
try {
enterOuterAlt(_localctx, 1);
{
setState(646);
other_than_tag_end();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class Other_than_tag_endContext extends ParserRuleContext {
public List TagEnd() { return getTokens(LiquidParser.TagEnd); }
public TerminalNode TagEnd(int i) {
return getToken(LiquidParser.TagEnd, i);
}
public Other_than_tag_endContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_other_than_tag_end; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterOther_than_tag_end(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitOther_than_tag_end(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitOther_than_tag_end(this);
else return visitor.visitChildren(this);
}
}
public final Other_than_tag_endContext other_than_tag_end() throws RecognitionException {
Other_than_tag_endContext _localctx = new Other_than_tag_endContext(_ctx, getState());
enterRule(_localctx, 90, RULE_other_than_tag_end);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(649);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(648);
_la = _input.LA(1);
if ( _la <= 0 || (_la==TagEnd) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(651);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & -2050L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & 8191L) != 0) );
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class FilenameContext extends ParserRuleContext {
public FilenameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_filename; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterFilename(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitFilename(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitFilename(this);
else return visitor.visitChildren(this);
}
}
public final FilenameContext filename() throws RecognitionException {
FilenameContext _localctx = new FilenameContext(_ctx, getState());
enterRule(_localctx, 92, RULE_filename);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(654);
_errHandler.sync(this);
_alt = 1+1;
do {
switch (_alt) {
case 1+1:
{
{
setState(653);
matchWildcard();
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(656);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,63,_ctx);
} while ( _alt!=1 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class OutStartContext extends ParserRuleContext {
public TerminalNode OutStart() { return getToken(LiquidParser.OutStart, 0); }
public TerminalNode OutStart2() { return getToken(LiquidParser.OutStart2, 0); }
public OutStartContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_outStart; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterOutStart(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitOutStart(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitOutStart(this);
else return visitor.visitChildren(this);
}
}
public final OutStartContext outStart() throws RecognitionException {
OutStartContext _localctx = new OutStartContext(_ctx, getState());
enterRule(_localctx, 94, RULE_outStart);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(658);
_la = _input.LA(1);
if ( !(_la==OutStart || _la==OutStart2) ) {
_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 OtherContext extends ParserRuleContext {
public List Other() { return getTokens(LiquidParser.Other); }
public TerminalNode Other(int i) {
return getToken(LiquidParser.Other, i);
}
public OtherContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_other; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).enterOther(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof LiquidParserListener ) ((LiquidParserListener)listener).exitOther(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof LiquidParserVisitor ) return ((LiquidParserVisitor extends T>)visitor).visitOther(this);
else return visitor.visitChildren(this);
}
}
public final OtherContext other() throws RecognitionException {
OtherContext _localctx = new OtherContext(_ctx, getState());
enterRule(_localctx, 96, RULE_other);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(661);
_errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
setState(660);
match(Other);
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(663);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,64,_ctx);
} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) {
switch (ruleIndex) {
case 28:
return include_tag_sempred((Include_tagContext)_localctx, predIndex);
case 29:
return include_relative_tag_sempred((Include_relative_tagContext)_localctx, predIndex);
case 32:
return output_sempred((OutputContext)_localctx, predIndex);
case 38:
return expr_sempred((ExprContext)_localctx, predIndex);
}
return true;
}
private boolean include_tag_sempred(Include_tagContext _localctx, int predIndex) {
switch (predIndex) {
case 0:
return isLiquidStyleInclude();
case 1:
return isJekyllStyleInclude();
}
return true;
}
private boolean include_relative_tag_sempred(Include_relative_tagContext _localctx, int predIndex) {
switch (predIndex) {
case 2:
return isJekyllStyleInclude();
}
return true;
}
private boolean output_sempred(OutputContext _localctx, int predIndex) {
switch (predIndex) {
case 3:
return isEvaluateInOutputTag();
case 4:
return isStrict();
case 5:
return isWarn() || isLax();
}
return true;
}
private boolean expr_sempred(ExprContext _localctx, int predIndex) {
switch (predIndex) {
case 6:
return precpred(_ctx, 5);
case 7:
return precpred(_ctx, 4);
case 8:
return precpred(_ctx, 3);
case 9:
return precpred(_ctx, 2);
}
return true;
}
public static final String _serializedATN =
"\u0004\u0001L\u029a\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001\u0002"+
"\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004\u0007\u0004\u0002"+
"\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007\u0007\u0007\u0002"+
"\b\u0007\b\u0002\t\u0007\t\u0002\n\u0007\n\u0002\u000b\u0007\u000b\u0002"+
"\f\u0007\f\u0002\r\u0007\r\u0002\u000e\u0007\u000e\u0002\u000f\u0007\u000f"+
"\u0002\u0010\u0007\u0010\u0002\u0011\u0007\u0011\u0002\u0012\u0007\u0012"+
"\u0002\u0013\u0007\u0013\u0002\u0014\u0007\u0014\u0002\u0015\u0007\u0015"+
"\u0002\u0016\u0007\u0016\u0002\u0017\u0007\u0017\u0002\u0018\u0007\u0018"+
"\u0002\u0019\u0007\u0019\u0002\u001a\u0007\u001a\u0002\u001b\u0007\u001b"+
"\u0002\u001c\u0007\u001c\u0002\u001d\u0007\u001d\u0002\u001e\u0007\u001e"+
"\u0002\u001f\u0007\u001f\u0002 \u0007 \u0002!\u0007!\u0002\"\u0007\"\u0002"+
"#\u0007#\u0002$\u0007$\u0002%\u0007%\u0002&\u0007&\u0002\'\u0007\'\u0002"+
"(\u0007(\u0002)\u0007)\u0002*\u0007*\u0002+\u0007+\u0002,\u0007,\u0002"+
"-\u0007-\u0002.\u0007.\u0002/\u0007/\u00020\u00070\u0001\u0000\u0001\u0000"+
"\u0001\u0000\u0001\u0001\u0005\u0001g\b\u0001\n\u0001\f\u0001j\t\u0001"+
"\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0003\u0002p\b\u0002"+
"\u0001\u0003\u0001\u0003\u0001\u0003\u0001\u0003\u0001\u0003\u0001\u0003"+
"\u0001\u0003\u0001\u0003\u0001\u0003\u0001\u0003\u0001\u0003\u0001\u0003"+
"\u0001\u0003\u0001\u0003\u0003\u0003\u0080\b\u0003\u0001\u0004\u0001\u0004"+
"\u0001\u0004\u0001\u0004\u0001\u0005\u0001\u0005\u0001\u0005\u0003\u0005"+
"\u0089\b\u0005\u0001\u0005\u0001\u0005\u0005\u0005\u008d\b\u0005\n\u0005"+
"\f\u0005\u0090\t\u0005\u0001\u0005\u0001\u0005\u0001\u0005\u0001\u0005"+
"\u0003\u0005\u0096\b\u0005\u0001\u0006\u0001\u0006\u0001\u0006\u0003\u0006"+
"\u009b\b\u0006\u0001\u0006\u0001\u0006\u0005\u0006\u009f\b\u0006\n\u0006"+
"\f\u0006\u00a2\t\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006"+
"\u0001\u0006\u0001\u0006\u0001\u0006\u0003\u0006\u00ab\b\u0006\u0001\u0006"+
"\u0001\u0006\u0005\u0006\u00af\b\u0006\n\u0006\f\u0006\u00b2\t\u0006\u0001"+
"\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001"+
"\u0006\u0003\u0006\u00bb\b\u0006\u0001\u0006\u0001\u0006\u0005\u0006\u00bf"+
"\b\u0006\n\u0006\f\u0006\u00c2\t\u0006\u0001\u0006\u0001\u0006\u0001\u0006"+
"\u0001\u0006\u0003\u0006\u00c8\b\u0006\u0001\u0006\u0001\u0006\u0001\u0006"+
"\u0001\u0006\u0001\u0006\u0003\u0006\u00cf\b\u0006\u0001\u0007\u0001\u0007"+
"\u0001\u0007\u0003\u0007\u00d4\b\u0007\u0001\u0007\u0001\u0007\u0001\b"+
"\u0001\b\u0001\b\u0001\b\u0001\b\u0001\b\u0001\t\u0005\t\u00df\b\t\n\t"+
"\f\t\u00e2\t\t\u0001\n\u0001\n\u0001\n\u0001\n\u0005\n\u00e8\b\n\n\n\f"+
"\n\u00eb\t\n\u0001\n\u0001\n\u0001\n\u0001\n\u0001\u000b\u0005\u000b\u00f2"+
"\b\u000b\n\u000b\f\u000b\u00f5\t\u000b\u0001\f\u0001\f\u0001\f\u0001\f"+
"\u0001\f\u0001\f\u0005\f\u00fd\b\f\n\f\f\f\u0100\t\f\u0001\f\u0003\f\u0103"+
"\b\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\r\u0001\r\u0001\r\u0001\r\u0001"+
"\r\u0001\r\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e"+
"\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f"+
"\u0003\u000f\u011a\b\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f"+
"\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0003\u0010"+
"\u0125\b\u0010\u0001\u0010\u0004\u0010\u0128\b\u0010\u000b\u0010\f\u0010"+
"\u0129\u0001\u0010\u0003\u0010\u012d\b\u0010\u0001\u0010\u0001\u0010\u0001"+
"\u0010\u0001\u0010\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011\u0001"+
"\u0011\u0005\u0011\u0138\b\u0011\n\u0011\f\u0011\u013b\t\u0011\u0001\u0011"+
"\u0001\u0011\u0001\u0011\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012"+
"\u0001\u0012\u0001\u0012\u0005\u0012\u0146\b\u0012\n\u0012\f\u0012\u0149"+
"\t\u0012\u0001\u0012\u0001\u0012\u0001\u0013\u0001\u0013\u0001\u0013\u0003"+
"\u0013\u0150\b\u0013\u0001\u0014\u0001\u0014\u0003\u0014\u0154\b\u0014"+
"\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015"+
"\u0003\u0015\u015c\b\u0015\u0001\u0015\u0005\u0015\u015f\b\u0015\n\u0015"+
"\f\u0015\u0162\t\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015"+
"\u0001\u0015\u0001\u0015\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0016"+
"\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0016"+
"\u0003\u0016\u0174\b\u0016\u0001\u0016\u0005\u0016\u0177\b\u0016\n\u0016"+
"\f\u0016\u017a\t\u0016\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0016"+
"\u0001\u0016\u0001\u0016\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0017"+
"\u0001\u0017\u0003\u0017\u0187\b\u0017\u0001\u0018\u0001\u0018\u0001\u0018"+
"\u0001\u0018\u0001\u0018\u0001\u0018\u0001\u0018\u0001\u0018\u0001\u0018"+
"\u0003\u0018\u0192\b\u0018\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019"+
"\u0001\u0019\u0001\u0019\u0003\u0019\u019a\b\u0019\u0001\u001a\u0001\u001a"+
"\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0005\u001a\u01a2\b\u001a"+
"\n\u001a\f\u001a\u01a5\t\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0001"+
"\u001a\u0001\u001a\u0001\u001a\u0001\u001b\u0001\u001b\u0001\u001b\u0001"+
"\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0001"+
"\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0001"+
"\u001b\u0001\u001b\u0001\u001b\u0003\u001b\u01bf\b\u001b\u0001\u001c\u0001"+
"\u001c\u0001\u001c\u0001\u001c\u0001\u001c\u0001\u001c\u0003\u001c\u01c7"+
"\b\u001c\u0001\u001c\u0001\u001c\u0001\u001c\u0001\u001c\u0001\u001c\u0001"+
"\u001c\u0001\u001c\u0005\u001c\u01d0\b\u001c\n\u001c\f\u001c\u01d3\t\u001c"+
"\u0001\u001c\u0001\u001c\u0003\u001c\u01d7\b\u001c\u0001\u001d\u0001\u001d"+
"\u0001\u001d\u0001\u001d\u0001\u001d\u0005\u001d\u01de\b\u001d\n\u001d"+
"\f\u001d\u01e1\t\u001d\u0001\u001d\u0001\u001d\u0001\u001e\u0001\u001e"+
"\u0003\u001e\u01e7\b\u001e\u0001\u001f\u0001\u001f\u0001\u001f\u0001\u001f"+
"\u0001 \u0001 \u0001 \u0001 \u0005 \u01f1\b \n \f \u01f4\t \u0001 \u0001"+
" \u0001 \u0001 \u0001 \u0001 \u0005 \u01fc\b \n \f \u01ff\t \u0001 \u0001"+
" \u0001 \u0001 \u0001 \u0001 \u0005 \u0207\b \n \f \u020a\t \u0001 \u0003"+
" \u020d\b \u0001 \u0001 \u0003 \u0211\b \u0001!\u0004!\u0214\b!\u000b"+
"!\f!\u0215\u0001\"\u0001\"\u0001\"\u0003\"\u021b\b\"\u0001#\u0001#\u0001"+
"#\u0001#\u0005#\u0221\b#\n#\f#\u0224\t#\u0001$\u0001$\u0001$\u0001$\u0001"+
"$\u0003$\u022b\b$\u0001%\u0001%\u0001%\u0001%\u0001%\u0001%\u0005%\u0233"+
"\b%\n%\f%\u0236\t%\u0001%\u0001%\u0001&\u0001&\u0001&\u0001&\u0001&\u0001"+
"&\u0001&\u0001&\u0001&\u0001&\u0001&\u0001&\u0001&\u0001&\u0001&\u0005"+
"&\u0249\b&\n&\f&\u024c\t&\u0001\'\u0001\'\u0001\'\u0001\'\u0001\'\u0001"+
"\'\u0001\'\u0001\'\u0001\'\u0001\'\u0001\'\u0001\'\u0001\'\u0003\'\u025b"+
"\b\'\u0001(\u0001(\u0001(\u0005(\u0260\b(\n(\f(\u0263\t(\u0001(\u0003"+
"(\u0266\b(\u0001(\u0001(\u0001(\u0001(\u0003(\u026c\b(\u0001(\u0001(\u0001"+
"(\u0001(\u0003(\u0272\b(\u0003(\u0274\b(\u0001)\u0001)\u0001*\u0001*\u0001"+
"*\u0001*\u0001*\u0003*\u027d\b*\u0001+\u0001+\u0001+\u0001+\u0001+\u0001"+
"+\u0003+\u0285\b+\u0001,\u0001,\u0001-\u0004-\u028a\b-\u000b-\f-\u028b"+
"\u0001.\u0004.\u028f\b.\u000b.\f.\u0290\u0001/\u0001/\u00010\u00040\u0296"+
"\b0\u000b0\f0\u0297\u00010\u0006\u008e\u00a0\u00b0\u00c0\u00e9\u0290\u0001"+
"L1\u0000\u0002\u0004\u0006\b\n\f\u000e\u0010\u0012\u0014\u0016\u0018\u001a"+
"\u001c\u001e \"$&(*,.02468:<>@BDFHJLNPRTVXZ\\^`\u0000\t\u0001\u0000\u0007"+
"\u0007\u0002\u0000\u0019\u0019&&\u0001\u0000\n\n\u0001\u0000\u0012\u0015"+
"\u0001\u0000\u000f\u0010\u0001\u0000%&\u0006\u0000\u0001\u0003#&*-114"+
"HKK\u0001\u0000\u000b\u000b\u0002\u0000\u0006\u0006\t\t\u02cb\u0000b\u0001"+
"\u0000\u0000\u0000\u0002h\u0001\u0000\u0000\u0000\u0004o\u0001\u0000\u0000"+
"\u0000\u0006\u007f\u0001\u0000\u0000\u0000\b\u0081\u0001\u0000\u0000\u0000"+
"\n\u0095\u0001\u0000\u0000\u0000\f\u00ce\u0001\u0000\u0000\u0000\u000e"+
"\u00d0\u0001\u0000\u0000\u0000\u0010\u00d7\u0001\u0000\u0000\u0000\u0012"+
"\u00e0\u0001\u0000\u0000\u0000\u0014\u00e3\u0001\u0000\u0000\u0000\u0016"+
"\u00f3\u0001\u0000\u0000\u0000\u0018\u00f6\u0001\u0000\u0000\u0000\u001a"+
"\u0108\u0001\u0000\u0000\u0000\u001c\u010e\u0001\u0000\u0000\u0000\u001e"+
"\u0113\u0001\u0000\u0000\u0000 \u011f\u0001\u0000\u0000\u0000\"\u0132"+
"\u0001\u0000\u0000\u0000$\u013f\u0001\u0000\u0000\u0000&\u014f\u0001\u0000"+
"\u0000\u0000(\u0153\u0001\u0000\u0000\u0000*\u0155\u0001\u0000\u0000\u0000"+
",\u0169\u0001\u0000\u0000\u0000.\u0181\u0001\u0000\u0000\u00000\u0191"+
"\u0001\u0000\u0000\u00002\u0199\u0001\u0000\u0000\u00004\u019b\u0001\u0000"+
"\u0000\u00006\u01be\u0001\u0000\u0000\u00008\u01d6\u0001\u0000\u0000\u0000"+
":\u01d8\u0001\u0000\u0000\u0000<\u01e6\u0001\u0000\u0000\u0000>\u01e8"+
"\u0001\u0000\u0000\u0000@\u0210\u0001\u0000\u0000\u0000B\u0213\u0001\u0000"+
"\u0000\u0000D\u0217\u0001\u0000\u0000\u0000F\u021c\u0001\u0000\u0000\u0000"+
"H\u022a\u0001\u0000\u0000\u0000J\u022c\u0001\u0000\u0000\u0000L\u0239"+
"\u0001\u0000\u0000\u0000N\u025a\u0001\u0000\u0000\u0000P\u0273\u0001\u0000"+
"\u0000\u0000R\u0275\u0001\u0000\u0000\u0000T\u027c\u0001\u0000\u0000\u0000"+
"V\u0284\u0001\u0000\u0000\u0000X\u0286\u0001\u0000\u0000\u0000Z\u0289"+
"\u0001\u0000\u0000\u0000\\\u028e\u0001\u0000\u0000\u0000^\u0292\u0001"+
"\u0000\u0000\u0000`\u0295\u0001\u0000\u0000\u0000bc\u0003\u0002\u0001"+
"\u0000cd\u0005\u0000\u0000\u0001d\u0001\u0001\u0000\u0000\u0000eg\u0003"+
"\u0004\u0002\u0000fe\u0001\u0000\u0000\u0000gj\u0001\u0000\u0000\u0000"+
"hf\u0001\u0000\u0000\u0000hi\u0001\u0000\u0000\u0000i\u0003\u0001\u0000"+
"\u0000\u0000jh\u0001\u0000\u0000\u0000kp\u0003\u0006\u0003\u0000lp\u0003"+
"@ \u0000mp\u0003J%\u0000np\u0003`0\u0000ok\u0001\u0000\u0000\u0000ol\u0001"+
"\u0000\u0000\u0000om\u0001\u0000\u0000\u0000on\u0001\u0000\u0000\u0000"+
"p\u0005\u0001\u0000\u0000\u0000q\u0080\u0003\u0010\b\u0000r\u0080\u0003"+
"\u0014\n\u0000s\u0080\u0003\u0018\f\u0000t\u0080\u0003\u001e\u000f\u0000"+
"u\u0080\u0003 \u0010\u0000v\u0080\u0003$\u0012\u0000w\u0080\u0003(\u0014"+
"\u0000x\u0080\u00034\u001a\u0000y\u0080\u00036\u001b\u0000z\u0080\u0003"+
"8\u001c\u0000{\u0080\u0003:\u001d\u0000|\u0080\u0003\b\u0004\u0000}\u0080"+
"\u0003\u000e\u0007\u0000~\u0080\u0003\n\u0005\u0000\u007fq\u0001\u0000"+
"\u0000\u0000\u007fr\u0001\u0000\u0000\u0000\u007fs\u0001\u0000\u0000\u0000"+
"\u007ft\u0001\u0000\u0000\u0000\u007fu\u0001\u0000\u0000\u0000\u007fv"+
"\u0001\u0000\u0000\u0000\u007fw\u0001\u0000\u0000\u0000\u007fx\u0001\u0000"+
"\u0000\u0000\u007fy\u0001\u0000\u0000\u0000\u007fz\u0001\u0000\u0000\u0000"+
"\u007f{\u0001\u0000\u0000\u0000\u007f|\u0001\u0000\u0000\u0000\u007f}"+
"\u0001\u0000\u0000\u0000\u007f~\u0001\u0000\u0000\u0000\u0080\u0007\u0001"+
"\u0000\u0000\u0000\u0081\u0082\u0005\u0007\u0000\u0000\u0082\u0083\u0005"+
",\u0000\u0000\u0083\u0084\u0005\u000b\u0000\u0000\u0084\t\u0001\u0000"+
"\u0000\u0000\u0085\u0086\u0005\u0007\u0000\u0000\u0086\u0088\u0005\u0001"+
"\u0000\u0000\u0087\u0089\u0003X,\u0000\u0088\u0087\u0001\u0000\u0000\u0000"+
"\u0088\u0089\u0001\u0000\u0000\u0000\u0089\u008a\u0001\u0000\u0000\u0000"+
"\u008a\u008e\u0005\u000b\u0000\u0000\u008b\u008d\u0003\u0004\u0002\u0000"+
"\u008c\u008b\u0001\u0000\u0000\u0000\u008d\u0090\u0001\u0000\u0000\u0000"+
"\u008e\u008f\u0001\u0000\u0000\u0000\u008e\u008c\u0001\u0000\u0000\u0000"+
"\u008f\u0091\u0001\u0000\u0000\u0000\u0090\u008e\u0001\u0000\u0000\u0000"+
"\u0091\u0092\u0005\u0007\u0000\u0000\u0092\u0093\u0005\u0002\u0000\u0000"+
"\u0093\u0096\u0005\u000b\u0000\u0000\u0094\u0096\u0003\f\u0006\u0000\u0095"+
"\u0085\u0001\u0000\u0000\u0000\u0095\u0094\u0001\u0000\u0000\u0000\u0096"+
"\u000b\u0001\u0000\u0000\u0000\u0097\u0098\u0005\u0007\u0000\u0000\u0098"+
"\u009a\u0005\u0001\u0000\u0000\u0099\u009b\u0003X,\u0000\u009a\u0099\u0001"+
"\u0000\u0000\u0000\u009a\u009b\u0001\u0000\u0000\u0000\u009b\u009c\u0001"+
"\u0000\u0000\u0000\u009c\u00a0\u0005\u000b\u0000\u0000\u009d\u009f\u0003"+
"\u0004\u0002\u0000\u009e\u009d\u0001\u0000\u0000\u0000\u009f\u00a2\u0001"+
"\u0000\u0000\u0000\u00a0\u00a1\u0001\u0000\u0000\u0000\u00a0\u009e\u0001"+
"\u0000\u0000\u0000\u00a1\u00a3\u0001\u0000\u0000\u0000\u00a2\u00a0\u0001"+
"\u0000\u0000\u0000\u00a3\u00a4\u0005\u0007\u0000\u0000\u00a4\u00a5\u0005"+
"\u0005\u0000\u0000\u00a5\u00a6\u0005\u000b\u0000\u0000\u00a6\u00cf\u0006"+
"\u0006\uffff\uffff\u0000\u00a7\u00a8\u0005\u0007\u0000\u0000\u00a8\u00aa"+
"\u0005\u0001\u0000\u0000\u00a9\u00ab\u0003X,\u0000\u00aa\u00a9\u0001\u0000"+
"\u0000\u0000\u00aa\u00ab\u0001\u0000\u0000\u0000\u00ab\u00ac\u0001\u0000"+
"\u0000\u0000\u00ac\u00b0\u0005\u000b\u0000\u0000\u00ad\u00af\u0003\u0004"+
"\u0002\u0000\u00ae\u00ad\u0001\u0000\u0000\u0000\u00af\u00b2\u0001\u0000"+
"\u0000\u0000\u00b0\u00b1\u0001\u0000\u0000\u0000\u00b0\u00ae\u0001\u0000"+
"\u0000\u0000\u00b1\u00b3\u0001\u0000\u0000\u0000\u00b2\u00b0\u0001\u0000"+
"\u0000\u0000\u00b3\u00b4\u0005\u0007\u0000\u0000\u00b4\u00b5\u0005\u0004"+
"\u0000\u0000\u00b5\u00b6\u0005\u000b\u0000\u0000\u00b6\u00cf\u0006\u0006"+
"\uffff\uffff\u0000\u00b7\u00b8\u0005\u0007\u0000\u0000\u00b8\u00ba\u0005"+
"\u0001\u0000\u0000\u00b9\u00bb\u0003X,\u0000\u00ba\u00b9\u0001\u0000\u0000"+
"\u0000\u00ba\u00bb\u0001\u0000\u0000\u0000\u00bb\u00bc\u0001\u0000\u0000"+
"\u0000\u00bc\u00c0\u0005\u000b\u0000\u0000\u00bd\u00bf\u0003\u0004\u0002"+
"\u0000\u00be\u00bd\u0001\u0000\u0000\u0000\u00bf\u00c2\u0001\u0000\u0000"+
"\u0000\u00c0\u00c1\u0001\u0000\u0000\u0000\u00c0\u00be\u0001\u0000\u0000"+
"\u0000\u00c1\u00c3\u0001\u0000\u0000\u0000\u00c2\u00c0\u0001\u0000\u0000"+
"\u0000\u00c3\u00cf\u0006\u0006\uffff\uffff\u0000\u00c4\u00c5\u0005\u0007"+
"\u0000\u0000\u00c5\u00c7\u0005J\u0000\u0000\u00c6\u00c8\u0003X,\u0000"+
"\u00c7\u00c6\u0001\u0000\u0000\u0000\u00c7\u00c8\u0001\u0000\u0000\u0000"+
"\u00c8\u00c9\u0001\u0000\u0000\u0000\u00c9\u00ca\u0005\u000b\u0000\u0000"+
"\u00ca\u00cf\u0006\u0006\uffff\uffff\u0000\u00cb\u00cc\u0005\u0007\u0000"+
"\u0000\u00cc\u00cd\u00053\u0000\u0000\u00cd\u00cf\u0006\u0006\uffff\uffff"+
"\u0000\u00ce\u0097\u0001\u0000\u0000\u0000\u00ce\u00a7\u0001\u0000\u0000"+
"\u0000\u00ce\u00b7\u0001\u0000\u0000\u0000\u00ce\u00c4\u0001\u0000\u0000"+
"\u0000\u00ce\u00cb\u0001\u0000\u0000\u0000\u00cf\r\u0001\u0000\u0000\u0000"+
"\u00d0\u00d1\u0005\u0007\u0000\u0000\u00d1\u00d3\u0005\u0003\u0000\u0000"+
"\u00d2\u00d4\u0003X,\u0000\u00d3\u00d2\u0001\u0000\u0000\u0000\u00d3\u00d4"+
"\u0001\u0000\u0000\u0000\u00d4\u00d5\u0001\u0000\u0000\u0000\u00d5\u00d6"+
"\u0005\u000b\u0000\u0000\u00d6\u000f\u0001\u0000\u0000\u0000\u00d7\u00d8"+
"\u0005\u0007\u0000\u0000\u00d8\u00d9\u00058\u0000\u0000\u00d9\u00da\u0003"+
"\u0012\t\u0000\u00da\u00db\u0005K\u0000\u0000\u00db\u00dc\u0005\u000b"+
"\u0000\u0000\u00dc\u0011\u0001\u0000\u0000\u0000\u00dd\u00df\u0005L\u0000"+
"\u0000\u00de\u00dd\u0001\u0000\u0000\u0000\u00df\u00e2\u0001\u0000\u0000"+
"\u0000\u00e0\u00de\u0001\u0000\u0000\u0000\u00e0\u00e1\u0001\u0000\u0000"+
"\u0000\u00e1\u0013\u0001\u0000\u0000\u0000\u00e2\u00e0\u0001\u0000\u0000"+
"\u0000\u00e3\u00e4\u0005\u0007\u0000\u0000\u00e4\u00e5\u00056\u0000\u0000"+
"\u00e5\u00e9\u0005\u000b\u0000\u0000\u00e6\u00e8\t\u0000\u0000\u0000\u00e7"+
"\u00e6\u0001\u0000\u0000\u0000\u00e8\u00eb\u0001\u0000\u0000\u0000\u00e9"+
"\u00ea\u0001\u0000\u0000\u0000\u00e9\u00e7\u0001\u0000\u0000\u0000\u00ea"+
"\u00ec\u0001\u0000\u0000\u0000\u00eb\u00e9\u0001\u0000\u0000\u0000\u00ec"+
"\u00ed\u0005\u0007\u0000\u0000\u00ed\u00ee\u00057\u0000\u0000\u00ee\u00ef"+
"\u0005\u000b\u0000\u0000\u00ef\u0015\u0001\u0000\u0000\u0000\u00f0\u00f2"+
"\b\u0000\u0000\u0000\u00f1\u00f0\u0001\u0000\u0000\u0000\u00f2\u00f5\u0001"+
"\u0000\u0000\u0000\u00f3\u00f1\u0001\u0000\u0000\u0000\u00f3\u00f4\u0001"+
"\u0000\u0000\u0000\u00f4\u0017\u0001\u0000\u0000\u0000\u00f5\u00f3\u0001"+
"\u0000\u0000\u0000\u00f6\u00f7\u0005\u0007\u0000\u0000\u00f7\u00f8\u0005"+
"9\u0000\u0000\u00f8\u00f9\u0003L&\u0000\u00f9\u00fa\u0005\u000b\u0000"+
"\u0000\u00fa\u00fe\u0003\u0002\u0001\u0000\u00fb\u00fd\u0003\u001a\r\u0000"+
"\u00fc\u00fb\u0001\u0000\u0000\u0000\u00fd\u0100\u0001\u0000\u0000\u0000"+
"\u00fe\u00fc\u0001\u0000\u0000\u0000\u00fe\u00ff\u0001\u0000\u0000\u0000"+
"\u00ff\u0102\u0001\u0000\u0000\u0000\u0100\u00fe\u0001\u0000\u0000\u0000"+
"\u0101\u0103\u0003\u001c\u000e\u0000\u0102\u0101\u0001\u0000\u0000\u0000"+
"\u0102\u0103\u0001\u0000\u0000\u0000\u0103\u0104\u0001\u0000\u0000\u0000"+
"\u0104\u0105\u0005\u0007\u0000\u0000\u0105\u0106\u0005;\u0000\u0000\u0106"+
"\u0107\u0005\u000b\u0000\u0000\u0107\u0019\u0001\u0000\u0000\u0000\u0108"+
"\u0109\u0005\u0007\u0000\u0000\u0109\u010a\u0005:\u0000\u0000\u010a\u010b"+
"\u0003L&\u0000\u010b\u010c\u0005\u000b\u0000\u0000\u010c\u010d\u0003\u0002"+
"\u0001\u0000\u010d\u001b\u0001\u0000\u0000\u0000\u010e\u010f\u0005\u0007"+
"\u0000\u0000\u010f\u0110\u0005>\u0000\u0000\u0110\u0111\u0005\u000b\u0000"+
"\u0000\u0111\u0112\u0003\u0002\u0001\u0000\u0112\u001d\u0001\u0000\u0000"+
"\u0000\u0113\u0114\u0005\u0007\u0000\u0000\u0114\u0115\u0005<\u0000\u0000"+
"\u0115\u0116\u0003L&\u0000\u0116\u0117\u0005\u000b\u0000\u0000\u0117\u0119"+
"\u0003\u0002\u0001\u0000\u0118\u011a\u0003\u001c\u000e\u0000\u0119\u0118"+
"\u0001\u0000\u0000\u0000\u0119\u011a\u0001\u0000\u0000\u0000\u011a\u011b"+
"\u0001\u0000\u0000\u0000\u011b\u011c\u0005\u0007\u0000\u0000\u011c\u011d"+
"\u0005=\u0000\u0000\u011d\u011e\u0005\u000b\u0000\u0000\u011e\u001f\u0001"+
"\u0000\u0000\u0000\u011f\u0120\u0005\u0007\u0000\u0000\u0120\u0121\u0005"+
"?\u0000\u0000\u0121\u0122\u0003L&\u0000\u0122\u0124\u0005\u000b\u0000"+
"\u0000\u0123\u0125\u0003`0\u0000\u0124\u0123\u0001\u0000\u0000\u0000\u0124"+
"\u0125\u0001\u0000\u0000\u0000\u0125\u0127\u0001\u0000\u0000\u0000\u0126"+
"\u0128\u0003\"\u0011\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\u012c\u0001\u0000\u0000\u0000\u012b\u012d"+
"\u0003\u001c\u000e\u0000\u012c\u012b\u0001\u0000\u0000\u0000\u012c\u012d"+
"\u0001\u0000\u0000\u0000\u012d\u012e\u0001\u0000\u0000\u0000\u012e\u012f"+
"\u0005\u0007\u0000\u0000\u012f\u0130\u0005@\u0000\u0000\u0130\u0131\u0005"+
"\u000b\u0000\u0000\u0131!\u0001\u0000\u0000\u0000\u0132\u0133\u0005\u0007"+
"\u0000\u0000\u0133\u0134\u0005A\u0000\u0000\u0134\u0139\u0003N\'\u0000"+
"\u0135\u0136\u0007\u0001\u0000\u0000\u0136\u0138\u0003N\'\u0000\u0137"+
"\u0135\u0001\u0000\u0000\u0000\u0138\u013b\u0001\u0000\u0000\u0000\u0139"+
"\u0137\u0001\u0000\u0000\u0000\u0139\u013a\u0001\u0000\u0000\u0000\u013a"+
"\u013c\u0001\u0000\u0000\u0000\u013b\u0139\u0001\u0000\u0000\u0000\u013c"+
"\u013d\u0005\u000b\u0000\u0000\u013d\u013e\u0003\u0002\u0001\u0000\u013e"+
"#\u0001\u0000\u0000\u0000\u013f\u0140\u0005\u0007\u0000\u0000\u0140\u0141"+
"\u0005B\u0000\u0000\u0141\u0142\u0003&\u0013\u0000\u0142\u0147\u0003L"+
"&\u0000\u0143\u0144\u0005\u0019\u0000\u0000\u0144\u0146\u0003L&\u0000"+
"\u0145\u0143\u0001\u0000\u0000\u0000\u0146\u0149\u0001\u0000\u0000\u0000"+
"\u0147\u0145\u0001\u0000\u0000\u0000\u0147\u0148\u0001\u0000\u0000\u0000"+
"\u0148\u014a\u0001\u0000\u0000\u0000\u0149\u0147\u0001\u0000\u0000\u0000"+
"\u014a\u014b\u0005\u000b\u0000\u0000\u014b%\u0001\u0000\u0000\u0000\u014c"+
"\u014d\u0003L&\u0000\u014d\u014e\u0005\u0018\u0000\u0000\u014e\u0150\u0001"+
"\u0000\u0000\u0000\u014f\u014c\u0001\u0000\u0000\u0000\u014f\u0150\u0001"+
"\u0000\u0000\u0000\u0150\'\u0001\u0000\u0000\u0000\u0151\u0154\u0003*"+
"\u0015\u0000\u0152\u0154\u0003,\u0016\u0000\u0153\u0151\u0001\u0000\u0000"+
"\u0000\u0153\u0152\u0001\u0000\u0000\u0000\u0154)\u0001\u0000\u0000\u0000"+
"\u0155\u0156\u0005\u0007\u0000\u0000\u0156\u0157\u0005C\u0000\u0000\u0157"+
"\u0158\u0003R)\u0000\u0158\u0159\u0005$\u0000\u0000\u0159\u015b\u0003"+
"P(\u0000\u015a\u015c\u0005-\u0000\u0000\u015b\u015a\u0001\u0000\u0000"+
"\u0000\u015b\u015c\u0001\u0000\u0000\u0000\u015c\u0160\u0001\u0000\u0000"+
"\u0000\u015d\u015f\u00030\u0018\u0000\u015e\u015d\u0001\u0000\u0000\u0000"+
"\u015f\u0162\u0001\u0000\u0000\u0000\u0160\u015e\u0001\u0000\u0000\u0000"+
"\u0160\u0161\u0001\u0000\u0000\u0000\u0161\u0163\u0001\u0000\u0000\u0000"+
"\u0162\u0160\u0001\u0000\u0000\u0000\u0163\u0164\u0005\u000b\u0000\u0000"+
"\u0164\u0165\u0003.\u0017\u0000\u0165\u0166\u0005\u0007\u0000\u0000\u0166"+
"\u0167\u0005D\u0000\u0000\u0167\u0168\u0005\u000b\u0000\u0000\u0168+\u0001"+
"\u0000\u0000\u0000\u0169\u016a\u0005\u0007\u0000\u0000\u016a\u016b\u0005"+
"C\u0000\u0000\u016b\u016c\u0003R)\u0000\u016c\u016d\u0005$\u0000\u0000"+
"\u016d\u016e\u0005\u001a\u0000\u0000\u016e\u016f\u0003L&\u0000\u016f\u0170"+
"\u0005\r\u0000\u0000\u0170\u0171\u0003L&\u0000\u0171\u0173\u0005\u001b"+
"\u0000\u0000\u0172\u0174\u0005-\u0000\u0000\u0173\u0172\u0001\u0000\u0000"+
"\u0000\u0173\u0174\u0001\u0000\u0000\u0000\u0174\u0178\u0001\u0000\u0000"+
"\u0000\u0175\u0177\u00030\u0018\u0000\u0176\u0175\u0001\u0000\u0000\u0000"+
"\u0177\u017a\u0001\u0000\u0000\u0000\u0178\u0176\u0001\u0000\u0000\u0000"+
"\u0178\u0179\u0001\u0000\u0000\u0000\u0179\u017b\u0001\u0000\u0000\u0000"+
"\u017a\u0178\u0001\u0000\u0000\u0000\u017b\u017c\u0005\u000b\u0000\u0000"+
"\u017c\u017d\u0003\u0002\u0001\u0000\u017d\u017e\u0005\u0007\u0000\u0000"+
"\u017e\u017f\u0005D\u0000\u0000\u017f\u0180\u0005\u000b\u0000\u0000\u0180"+
"-\u0001\u0000\u0000\u0000\u0181\u0186\u0003\u0002\u0001\u0000\u0182\u0183"+
"\u0005\u0007\u0000\u0000\u0183\u0184\u0005>\u0000\u0000\u0184\u0185\u0005"+
"\u000b\u0000\u0000\u0185\u0187\u0003\u0002\u0001\u0000\u0186\u0182\u0001"+
"\u0000\u0000\u0000\u0186\u0187\u0001\u0000\u0000\u0000\u0187/\u0001\u0000"+
"\u0000\u0000\u0188\u0189\u0005+\u0000\u0000\u0189\u018a\u0005\u0018\u0000"+
"\u0000\u018a\u0192\u0005,\u0000\u0000\u018b\u018c\u0005+\u0000\u0000\u018c"+
"\u018d\u0005\u0018\u0000\u0000\u018d\u0192\u0003L&\u0000\u018e\u018f\u0005"+
"1\u0000\u0000\u018f\u0190\u0005\u0018\u0000\u0000\u0190\u0192\u0003L&"+
"\u0000\u0191\u0188\u0001\u0000\u0000\u0000\u0191\u018b\u0001\u0000\u0000"+
"\u0000\u0191\u018e\u0001\u0000\u0000\u0000\u01921\u0001\u0000\u0000\u0000"+
"\u0193\u0194\u0005+\u0000\u0000\u0194\u0195\u0005\u0018\u0000\u0000\u0195"+
"\u019a\u0003L&\u0000\u0196\u0197\u00051\u0000\u0000\u0197\u0198\u0005"+
"\u0018\u0000\u0000\u0198\u019a\u0003L&\u0000\u0199\u0193\u0001\u0000\u0000"+
"\u0000\u0199\u0196\u0001\u0000\u0000\u0000\u019a3\u0001\u0000\u0000\u0000"+
"\u019b\u019c\u0005\u0007\u0000\u0000\u019c\u019d\u0005E\u0000\u0000\u019d"+
"\u019e\u0003R)\u0000\u019e\u019f\u0005$\u0000\u0000\u019f\u01a3\u0003"+
"P(\u0000\u01a0\u01a2\u00032\u0019\u0000\u01a1\u01a0\u0001\u0000\u0000"+
"\u0000\u01a2\u01a5\u0001\u0000\u0000\u0000\u01a3\u01a1\u0001\u0000\u0000"+
"\u0000\u01a3\u01a4\u0001\u0000\u0000\u0000\u01a4\u01a6\u0001\u0000\u0000"+
"\u0000\u01a5\u01a3\u0001\u0000\u0000\u0000\u01a6\u01a7\u0005\u000b\u0000"+
"\u0000\u01a7\u01a8\u0003\u0002\u0001\u0000\u01a8\u01a9\u0005\u0007\u0000"+
"\u0000\u01a9\u01aa\u0005F\u0000\u0000\u01aa\u01ab\u0005\u000b\u0000\u0000"+
"\u01ab5\u0001\u0000\u0000\u0000\u01ac\u01ad\u0005\u0007\u0000\u0000\u01ad"+
"\u01ae\u00054\u0000\u0000\u01ae\u01af\u0003R)\u0000\u01af\u01b0\u0005"+
"\u000b\u0000\u0000\u01b0\u01b1\u0003\u0002\u0001\u0000\u01b1\u01b2\u0005"+
"\u0007\u0000\u0000\u01b2\u01b3\u00055\u0000\u0000\u01b3\u01b4\u0005\u000b"+
"\u0000\u0000\u01b4\u01bf\u0001\u0000\u0000\u0000\u01b5\u01b6\u0005\u0007"+
"\u0000\u0000\u01b6\u01b7\u00054\u0000\u0000\u01b7\u01b8\u0005\f\u0000"+
"\u0000\u01b8\u01b9\u0005\u000b\u0000\u0000\u01b9\u01ba\u0003\u0002\u0001"+
"\u0000\u01ba\u01bb\u0005\u0007\u0000\u0000\u01bb\u01bc\u00055\u0000\u0000"+
"\u01bc\u01bd\u0005\u000b\u0000\u0000\u01bd\u01bf\u0001\u0000\u0000\u0000"+
"\u01be\u01ac\u0001\u0000\u0000\u0000\u01be\u01b5\u0001\u0000\u0000\u0000"+
"\u01bf7\u0001\u0000\u0000\u0000\u01c0\u01c1\u0004\u001c\u0000\u0000\u01c1"+
"\u01c2\u0005\u0007\u0000\u0000\u01c2\u01c3\u0005H\u0000\u0000\u01c3\u01c6"+
"\u0003L&\u0000\u01c4\u01c5\u0005*\u0000\u0000\u01c5\u01c7\u0005\f\u0000"+
"\u0000\u01c6\u01c4\u0001\u0000\u0000\u0000\u01c6\u01c7\u0001\u0000\u0000"+
"\u0000\u01c7\u01c8\u0001\u0000\u0000\u0000\u01c8\u01c9\u0005\u000b\u0000"+
"\u0000\u01c9\u01d7\u0001\u0000\u0000\u0000\u01ca\u01cb\u0004\u001c\u0001"+
"\u0000\u01cb\u01cc\u0005\u0007\u0000\u0000\u01cc\u01cd\u0005H\u0000\u0000"+
"\u01cd\u01d1\u0003<\u001e\u0000\u01ce\u01d0\u0003>\u001f\u0000\u01cf\u01ce"+
"\u0001\u0000\u0000\u0000\u01d0\u01d3\u0001\u0000\u0000\u0000\u01d1\u01cf"+
"\u0001\u0000\u0000\u0000\u01d1\u01d2\u0001\u0000\u0000\u0000\u01d2\u01d4"+
"\u0001\u0000\u0000\u0000\u01d3\u01d1\u0001\u0000\u0000\u0000\u01d4\u01d5"+
"\u0005\u000b\u0000\u0000\u01d5\u01d7\u0001\u0000\u0000\u0000\u01d6\u01c0"+
"\u0001\u0000\u0000\u0000\u01d6\u01ca\u0001\u0000\u0000\u0000\u01d79\u0001"+
"\u0000\u0000\u0000\u01d8\u01d9\u0004\u001d\u0002\u0000\u01d9\u01da\u0005"+
"\u0007\u0000\u0000\u01da\u01db\u0005I\u0000\u0000\u01db\u01df\u0003<\u001e"+
"\u0000\u01dc\u01de\u0003>\u001f\u0000\u01dd\u01dc\u0001\u0000\u0000\u0000"+
"\u01de\u01e1\u0001\u0000\u0000\u0000\u01df\u01dd\u0001\u0000\u0000\u0000"+
"\u01df\u01e0\u0001\u0000\u0000\u0000\u01e0\u01e2\u0001\u0000\u0000\u0000"+
"\u01e1\u01df\u0001\u0000\u0000\u0000\u01e2\u01e3\u0005\u000b\u0000\u0000"+
"\u01e3;\u0001\u0000\u0000\u0000\u01e4\u01e7\u0003@ \u0000\u01e5\u01e7"+
"\u0003\\.\u0000\u01e6\u01e4\u0001\u0000\u0000\u0000\u01e6\u01e5\u0001"+
"\u0000\u0000\u0000\u01e7=\u0001\u0000\u0000\u0000\u01e8\u01e9\u0003R)"+
"\u0000\u01e9\u01ea\u0005\u0011\u0000\u0000\u01ea\u01eb\u0003L&\u0000\u01eb"+
"?\u0001\u0000\u0000\u0000\u01ec\u01ed\u0004 \u0003\u0000\u01ed\u01ee\u0003"+
"^/\u0000\u01ee\u01f2\u0003L&\u0000\u01ef\u01f1\u0003D\"\u0000\u01f0\u01ef"+
"\u0001\u0000\u0000\u0000\u01f1\u01f4\u0001\u0000\u0000\u0000\u01f2\u01f0"+
"\u0001\u0000\u0000\u0000\u01f2\u01f3\u0001\u0000\u0000\u0000\u01f3\u01f5"+
"\u0001\u0000\u0000\u0000\u01f4\u01f2\u0001\u0000\u0000\u0000\u01f5\u01f6"+
"\u0005\n\u0000\u0000\u01f6\u0211\u0001\u0000\u0000\u0000\u01f7\u01f8\u0004"+
" \u0004\u0000\u01f8\u01f9\u0003^/\u0000\u01f9\u01fd\u0003N\'\u0000\u01fa"+
"\u01fc\u0003D\"\u0000\u01fb\u01fa\u0001\u0000\u0000\u0000\u01fc\u01ff"+
"\u0001\u0000\u0000\u0000\u01fd\u01fb\u0001\u0000\u0000\u0000\u01fd\u01fe"+
"\u0001\u0000\u0000\u0000\u01fe\u0200\u0001\u0000\u0000\u0000\u01ff\u01fd"+
"\u0001\u0000\u0000\u0000\u0200\u0201\u0005\n\u0000\u0000\u0201\u0211\u0001"+
"\u0000\u0000\u0000\u0202\u0203\u0004 \u0005\u0000\u0203\u0204\u0003^/"+
"\u0000\u0204\u0208\u0003N\'\u0000\u0205\u0207\u0003D\"\u0000\u0206\u0205"+
"\u0001\u0000\u0000\u0000\u0207\u020a\u0001\u0000\u0000\u0000\u0208\u0206"+
"\u0001\u0000\u0000\u0000\u0208\u0209\u0001\u0000\u0000\u0000\u0209\u020c"+
"\u0001\u0000\u0000\u0000\u020a\u0208\u0001\u0000\u0000\u0000\u020b\u020d"+
"\u0003B!\u0000\u020c\u020b\u0001\u0000\u0000\u0000\u020c\u020d\u0001\u0000"+
"\u0000\u0000\u020d\u020e\u0001\u0000\u0000\u0000\u020e\u020f\u0005\n\u0000"+
"\u0000\u020f\u0211\u0001\u0000\u0000\u0000\u0210\u01ec\u0001\u0000\u0000"+
"\u0000\u0210\u01f7\u0001\u0000\u0000\u0000\u0210\u0202\u0001\u0000\u0000"+
"\u0000\u0211A\u0001\u0000\u0000\u0000\u0212\u0214\b\u0002\u0000\u0000"+
"\u0213\u0212\u0001\u0000\u0000\u0000\u0214\u0215\u0001\u0000\u0000\u0000"+
"\u0215\u0213\u0001\u0000\u0000\u0000\u0215\u0216\u0001\u0000\u0000\u0000"+
"\u0216C\u0001\u0000\u0000\u0000\u0217\u0218\u0005\u0017\u0000\u0000\u0218"+
"\u021a\u00051\u0000\u0000\u0219\u021b\u0003F#\u0000\u021a\u0219\u0001"+
"\u0000\u0000\u0000\u021a\u021b\u0001\u0000\u0000\u0000\u021bE\u0001\u0000"+
"\u0000\u0000\u021c\u021d\u0005\u0018\u0000\u0000\u021d\u0222\u0003H$\u0000"+
"\u021e\u021f\u0005\u0019\u0000\u0000\u021f\u0221\u0003H$\u0000\u0220\u021e"+
"\u0001\u0000\u0000\u0000\u0221\u0224\u0001\u0000\u0000\u0000\u0222\u0220"+
"\u0001\u0000\u0000\u0000\u0222\u0223\u0001\u0000\u0000\u0000\u0223G\u0001"+
"\u0000\u0000\u0000\u0224\u0222\u0001\u0000\u0000\u0000\u0225\u0226\u0003"+
"T*\u0000\u0226\u0227\u0005\u0018\u0000\u0000\u0227\u0228\u0003L&\u0000"+
"\u0228\u022b\u0001\u0000\u0000\u0000\u0229\u022b\u0003L&\u0000\u022a\u0225"+
"\u0001\u0000\u0000\u0000\u022a\u0229\u0001\u0000\u0000\u0000\u022bI\u0001"+
"\u0000\u0000\u0000\u022c\u022d\u0005\u0007\u0000\u0000\u022d\u022e\u0005"+
"G\u0000\u0000\u022e\u022f\u0003R)\u0000\u022f\u0230\u0005\u0011\u0000"+
"\u0000\u0230\u0234\u0003L&\u0000\u0231\u0233\u0003D\"\u0000\u0232\u0231"+
"\u0001\u0000\u0000\u0000\u0233\u0236\u0001\u0000\u0000\u0000\u0234\u0232"+
"\u0001\u0000\u0000\u0000\u0234\u0235\u0001\u0000\u0000\u0000\u0235\u0237"+
"\u0001\u0000\u0000\u0000\u0236\u0234\u0001\u0000\u0000\u0000\u0237\u0238"+
"\u0005\u000b\u0000\u0000\u0238K\u0001\u0000\u0000\u0000\u0239\u023a\u0006"+
"&\uffff\uffff\u0000\u023a\u023b\u0003N\'\u0000\u023b\u024a\u0001\u0000"+
"\u0000\u0000\u023c\u023d\n\u0005\u0000\u0000\u023d\u023e\u0007\u0003\u0000"+
"\u0000\u023e\u0249\u0003L&\u0006\u023f\u0240\n\u0004\u0000\u0000\u0240"+
"\u0241\u0007\u0004\u0000\u0000\u0241\u0249\u0003L&\u0005\u0242\u0243\n"+
"\u0003\u0000\u0000\u0243\u0244\u0005#\u0000\u0000\u0244\u0249\u0003L&"+
"\u0004\u0245\u0246\n\u0002\u0000\u0000\u0246\u0247\u0007\u0005\u0000\u0000"+
"\u0247\u0249\u0003L&\u0002\u0248\u023c\u0001\u0000\u0000\u0000\u0248\u023f"+
"\u0001\u0000\u0000\u0000\u0248\u0242\u0001\u0000\u0000\u0000\u0248\u0245"+
"\u0001\u0000\u0000\u0000\u0249\u024c\u0001\u0000\u0000\u0000\u024a\u0248"+
"\u0001\u0000\u0000\u0000\u024a\u024b\u0001\u0000\u0000\u0000\u024bM\u0001"+
"\u0000\u0000\u0000\u024c\u024a\u0001\u0000\u0000\u0000\u024d\u025b\u0005"+
" \u0000\u0000\u024e\u025b\u0005!\u0000\u0000\u024f\u025b\u0005\f\u0000"+
"\u0000\u0250\u025b\u0005\'\u0000\u0000\u0251\u025b\u0005(\u0000\u0000"+
"\u0252\u025b\u0005)\u0000\u0000\u0253\u025b\u0003P(\u0000\u0254\u025b"+
"\u0005.\u0000\u0000\u0255\u025b\u0005/\u0000\u0000\u0256\u0257\u0005\u001a"+
"\u0000\u0000\u0257\u0258\u0003L&\u0000\u0258\u0259\u0005\u001b\u0000\u0000"+
"\u0259\u025b\u0001\u0000\u0000\u0000\u025a\u024d\u0001\u0000\u0000\u0000"+
"\u025a\u024e\u0001\u0000\u0000\u0000\u025a\u024f\u0001\u0000\u0000\u0000"+
"\u025a\u0250\u0001\u0000\u0000\u0000\u025a\u0251\u0001\u0000\u0000\u0000"+
"\u025a\u0252\u0001\u0000\u0000\u0000\u025a\u0253\u0001\u0000\u0000\u0000"+
"\u025a\u0254\u0001\u0000\u0000\u0000\u025a\u0255\u0001\u0000\u0000\u0000"+
"\u025a\u0256\u0001\u0000\u0000\u0000\u025bO\u0001\u0000\u0000\u0000\u025c"+
"\u0274\u0005.\u0000\u0000\u025d\u0261\u0003R)\u0000\u025e\u0260\u0003"+
"V+\u0000\u025f\u025e\u0001\u0000\u0000\u0000\u0260\u0263\u0001\u0000\u0000"+
"\u0000\u0261\u025f\u0001\u0000\u0000\u0000\u0261\u0262\u0001\u0000\u0000"+
"\u0000\u0262\u0265\u0001\u0000\u0000\u0000\u0263\u0261\u0001\u0000\u0000"+
"\u0000\u0264\u0266\u0005\u001e\u0000\u0000\u0265\u0264\u0001\u0000\u0000"+
"\u0000\u0265\u0266\u0001\u0000\u0000\u0000\u0266\u0274\u0001\u0000\u0000"+
"\u0000\u0267\u0268\u0005\u001c\u0000\u0000\u0268\u0269\u0005\f\u0000\u0000"+
"\u0269\u026b\u0005\u001d\u0000\u0000\u026a\u026c\u0005\u001e\u0000\u0000"+
"\u026b\u026a\u0001\u0000\u0000\u0000\u026b\u026c\u0001\u0000\u0000\u0000"+
"\u026c\u0274\u0001\u0000\u0000\u0000\u026d\u026e\u0005\u001c\u0000\u0000"+
"\u026e\u026f\u00051\u0000\u0000\u026f\u0271\u0005\u001d\u0000\u0000\u0270"+
"\u0272\u0005\u001e\u0000\u0000\u0271\u0270\u0001\u0000\u0000\u0000\u0271"+
"\u0272\u0001\u0000\u0000\u0000\u0272\u0274\u0001\u0000\u0000\u0000\u0273"+
"\u025c\u0001\u0000\u0000\u0000\u0273\u025d\u0001\u0000\u0000\u0000\u0273"+
"\u0267\u0001\u0000\u0000\u0000\u0273\u026d\u0001\u0000\u0000\u0000\u0274"+
"Q\u0001\u0000\u0000\u0000\u0275\u0276\u0007\u0006\u0000\u0000\u0276S\u0001"+
"\u0000\u0000\u0000\u0277\u027d\u0003R)\u0000\u0278\u027d\u0005.\u0000"+
"\u0000\u0279\u027d\u0005)\u0000\u0000\u027a\u027d\u0005\'\u0000\u0000"+
"\u027b\u027d\u0005(\u0000\u0000\u027c\u0277\u0001\u0000\u0000\u0000\u027c"+
"\u0278\u0001\u0000\u0000\u0000\u027c\u0279\u0001\u0000\u0000\u0000\u027c"+
"\u027a\u0001\u0000\u0000\u0000\u027c\u027b\u0001\u0000\u0000\u0000\u027d"+
"U\u0001\u0000\u0000\u0000\u027e\u027f\u0005\u000e\u0000\u0000\u027f\u0285"+
"\u0003T*\u0000\u0280\u0281\u0005\u001c\u0000\u0000\u0281\u0282\u0003L"+
"&\u0000\u0282\u0283\u0005\u001d\u0000\u0000\u0283\u0285\u0001\u0000\u0000"+
"\u0000\u0284\u027e\u0001\u0000\u0000\u0000\u0284\u0280\u0001\u0000\u0000"+
"\u0000\u0285W\u0001\u0000\u0000\u0000\u0286\u0287\u0003Z-\u0000\u0287"+
"Y\u0001\u0000\u0000\u0000\u0288\u028a\b\u0007\u0000\u0000\u0289\u0288"+
"\u0001\u0000\u0000\u0000\u028a\u028b\u0001\u0000\u0000\u0000\u028b\u0289"+
"\u0001\u0000\u0000\u0000\u028b\u028c\u0001\u0000\u0000\u0000\u028c[\u0001"+
"\u0000\u0000\u0000\u028d\u028f\t\u0000\u0000\u0000\u028e\u028d\u0001\u0000"+
"\u0000\u0000\u028f\u0290\u0001\u0000\u0000\u0000\u0290\u0291\u0001\u0000"+
"\u0000\u0000\u0290\u028e\u0001\u0000\u0000\u0000\u0291]\u0001\u0000\u0000"+
"\u0000\u0292\u0293\u0007\b\u0000\u0000\u0293_\u0001\u0000\u0000\u0000"+
"\u0294\u0296\u0005\b\u0000\u0000\u0295\u0294\u0001\u0000\u0000\u0000\u0296"+
"\u0297\u0001\u0000\u0000\u0000\u0297\u0295\u0001\u0000\u0000\u0000\u0297"+
"\u0298\u0001\u0000\u0000\u0000\u0298a\u0001\u0000\u0000\u0000Aho\u007f"+
"\u0088\u008e\u0095\u009a\u00a0\u00aa\u00b0\u00ba\u00c0\u00c7\u00ce\u00d3"+
"\u00e0\u00e9\u00f3\u00fe\u0102\u0119\u0124\u0129\u012c\u0139\u0147\u014f"+
"\u0153\u015b\u0160\u0173\u0178\u0186\u0191\u0199\u01a3\u01be\u01c6\u01d1"+
"\u01d6\u01df\u01e6\u01f2\u01fd\u0208\u020c\u0210\u0215\u021a\u0222\u022a"+
"\u0234\u0248\u024a\u025a\u0261\u0265\u026b\u0271\u0273\u027c\u0284\u028b"+
"\u0290\u0297";
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 - 2024 Weber Informatics LLC | Privacy Policy