//------------------------------------------------------------------------------
//
// This code was generated by a tool.
// ANTLR Version: 4.7
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
//
//------------------------------------------------------------------------------
// Generated from YarnSpinnerParser.g4 by ANTLR 4.7
// Unreachable code detected
#pragma warning disable 0162
// The variable '...' is assigned but its value is never used
#pragma warning disable 0219
// Missing XML comment for publicly visible type or member '...'
#pragma warning disable 1591
// Ambiguous reference in cref attribute
#pragma warning disable 419
using System;
using System.IO;
using System.Text;
using System.Diagnostics;
using System.Collections.Generic;
using Antlr4.Runtime;
using Antlr4.Runtime.Atn;
using Antlr4.Runtime.Misc;
using Antlr4.Runtime.Tree;
using DFA = Antlr4.Runtime.Dfa.DFA;
[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.7")]
[System.CLSCompliant(false)]
public partial class YarnSpinnerParser : Parser {
protected static DFA[] decisionToDFA;
protected static PredictionContextCache sharedContextCache = new PredictionContextCache();
public const int
BODY_ENTER=1, HEADER_TITLE=2, HEADER_TAGS=3, HEADER_NAME=4, HEADER_SEPARATOR=5,
STRING=6, ID=7, NEWLINE=8, UNKNOWN=9, TITLE_WS=10, TITLE_TEXT=11, TAG_TEXT=12,
HEADER_WS=13, HEADER_TEXT=14, WS_IN_BODY=15, COMMENT=16, BODY_CLOSE=17,
TEXT_STRING=18, SHORTCUT_ENTER=19, INDENT=20, DEDENT=21, COMMAND_IF=22,
COMMAND_ELSE=23, COMMAND_ELSE_IF=24, COMMAND_ENDIF=25, COMMAND_SET=26,
COMMAND_FUNC=27, COMMAND_OPEN=28, OPTION_ENTER=29, HASHTAG=30, TEXT=31,
SHORTCUT_TEXT=32, COMMAND_WS=33, COMMAND_CLOSE=34, COMMAND_STRING=35,
KEYWORD_IF=36, KEYWORD_ELSE=37, KEYWORD_ELSE_IF=38, KEYWORD_SET=39, KEYWORD_TRUE=40,
KEYWORD_FALSE=41, KEYWORD_NULL=42, KEYWORD_TO=43, OPERATOR_LOGICAL_LESS_THAN_EQUALS=44,
OPERATOR_LOGICAL_GREATER_THAN_EQUALS=45, OPERATOR_LOGICAL_EQUALS=46, OPERATOR_LOGICAL_LESS=47,
OPERATOR_LOGICAL_GREATER=48, OPERATOR_LOGICAL_NOT_EQUALS=49, OPERATOR_LOGICAL_AND=50,
OPERATOR_LOGICAL_OR=51, OPERATOR_LOGICAL_XOR=52, OPERATOR_LOGICAL_NOT=53,
OPERATOR_MATHS_ADDITION_EQUALS=54, OPERATOR_MATHS_SUBTRACTION_EQUALS=55,
OPERATOR_MATHS_MULTIPLICATION_EQUALS=56, OPERATOR_MATHS_MODULUS_EQUALS=57,
OPERATOR_MATHS_DIVISION_EQUALS=58, OPERATOR_MATHS_ADDITION=59, OPERATOR_MATHS_SUBTRACTION=60,
OPERATOR_MATHS_MULTIPLICATION=61, OPERATOR_MATHS_DIVISION=62, OPERATOR_MATHS_MODULUS=63,
LPAREN=64, RPAREN=65, COMMA=66, VAR_ID=67, BODY_NUMBER=68, FUNC_ID=69,
COMMAND_UNKNOWN=70, ACTION=71, OPTION_SEPARATOR=72, OPTION_TEXT=73, OPTION_CLOSE=74,
OPTION_LINK=75;
public const int
RULE_dialogue = 0, RULE_node = 1, RULE_header = 2, RULE_header_title = 3,
RULE_header_tag = 4, RULE_header_line = 5, RULE_body = 6, RULE_statement = 7,
RULE_shortcut_statement = 8, RULE_shortcut = 9, RULE_shortcut_conditional = 10,
RULE_shortcut_text = 11, RULE_if_statement = 12, RULE_if_clause = 13,
RULE_else_if_clause = 14, RULE_else_clause = 15, RULE_set_statement = 16,
RULE_option_statement = 17, RULE_function = 18, RULE_function_statement = 19,
RULE_action_statement = 20, RULE_text = 21, RULE_line_statement = 22,
RULE_hashtag_block = 23, RULE_hashtag = 24, RULE_expression = 25, RULE_value = 26,
RULE_variable = 27;
public static readonly string[] ruleNames = {
"dialogue", "node", "header", "header_title", "header_tag", "header_line",
"body", "statement", "shortcut_statement", "shortcut", "shortcut_conditional",
"shortcut_text", "if_statement", "if_clause", "else_if_clause", "else_clause",
"set_statement", "option_statement", "function", "function_statement",
"action_statement", "text", "line_statement", "hashtag_block", "hashtag",
"expression", "value", "variable"
};
private static readonly string[] _LiteralNames = {
null, "'---'", "'title:'", "'tags:'", null, "':'", null, null, null, null,
null, null, null, null, null, null, null, "'==='", null, null, "'\u0007'",
"'\u000B'", null, null, null, null, null, null, null, "'[['", null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, "'+='", "'-='",
"'*='", "'%='", "'/='", "'+'", "'-'", "'*'", "'/'", "'%'", "'('", "')'",
"','", null, null, null, null, null, "'|'", null, "']]'"
};
private static readonly string[] _SymbolicNames = {
null, "BODY_ENTER", "HEADER_TITLE", "HEADER_TAGS", "HEADER_NAME", "HEADER_SEPARATOR",
"STRING", "ID", "NEWLINE", "UNKNOWN", "TITLE_WS", "TITLE_TEXT", "TAG_TEXT",
"HEADER_WS", "HEADER_TEXT", "WS_IN_BODY", "COMMENT", "BODY_CLOSE", "TEXT_STRING",
"SHORTCUT_ENTER", "INDENT", "DEDENT", "COMMAND_IF", "COMMAND_ELSE", "COMMAND_ELSE_IF",
"COMMAND_ENDIF", "COMMAND_SET", "COMMAND_FUNC", "COMMAND_OPEN", "OPTION_ENTER",
"HASHTAG", "TEXT", "SHORTCUT_TEXT", "COMMAND_WS", "COMMAND_CLOSE", "COMMAND_STRING",
"KEYWORD_IF", "KEYWORD_ELSE", "KEYWORD_ELSE_IF", "KEYWORD_SET", "KEYWORD_TRUE",
"KEYWORD_FALSE", "KEYWORD_NULL", "KEYWORD_TO", "OPERATOR_LOGICAL_LESS_THAN_EQUALS",
"OPERATOR_LOGICAL_GREATER_THAN_EQUALS", "OPERATOR_LOGICAL_EQUALS", "OPERATOR_LOGICAL_LESS",
"OPERATOR_LOGICAL_GREATER", "OPERATOR_LOGICAL_NOT_EQUALS", "OPERATOR_LOGICAL_AND",
"OPERATOR_LOGICAL_OR", "OPERATOR_LOGICAL_XOR", "OPERATOR_LOGICAL_NOT",
"OPERATOR_MATHS_ADDITION_EQUALS", "OPERATOR_MATHS_SUBTRACTION_EQUALS",
"OPERATOR_MATHS_MULTIPLICATION_EQUALS", "OPERATOR_MATHS_MODULUS_EQUALS",
"OPERATOR_MATHS_DIVISION_EQUALS", "OPERATOR_MATHS_ADDITION", "OPERATOR_MATHS_SUBTRACTION",
"OPERATOR_MATHS_MULTIPLICATION", "OPERATOR_MATHS_DIVISION", "OPERATOR_MATHS_MODULUS",
"LPAREN", "RPAREN", "COMMA", "VAR_ID", "BODY_NUMBER", "FUNC_ID", "COMMAND_UNKNOWN",
"ACTION", "OPTION_SEPARATOR", "OPTION_TEXT", "OPTION_CLOSE", "OPTION_LINK"
};
public static readonly IVocabulary DefaultVocabulary = new Vocabulary(_LiteralNames, _SymbolicNames);
[NotNull]
public override IVocabulary Vocabulary
{
get
{
return DefaultVocabulary;
}
}
public override string GrammarFileName { get { return "YarnSpinnerParser.g4"; } }
public override string[] RuleNames { get { return ruleNames; } }
public override string SerializedAtn { get { return new string(_serializedATN); } }
static YarnSpinnerParser() {
decisionToDFA = new DFA[_ATN.NumberOfDecisions];
for (int i = 0; i < _ATN.NumberOfDecisions; i++) {
decisionToDFA[i] = new DFA(_ATN.GetDecisionState(i), i);
}
}
public YarnSpinnerParser(ITokenStream input) : this(input, Console.Out, Console.Error) { }
public YarnSpinnerParser(ITokenStream input, TextWriter output, TextWriter errorOutput)
: base(input, output, errorOutput)
{
Interpreter = new ParserATNSimulator(this, _ATN, decisionToDFA, sharedContextCache);
}
public partial class DialogueContext : ParserRuleContext {
public ITerminalNode Eof() { return GetToken(YarnSpinnerParser.Eof, 0); }
public NodeContext[] node() {
return GetRuleContexts();
}
public NodeContext node(int i) {
return GetRuleContext(i);
}
public DialogueContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_dialogue; } }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterDialogue(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitDialogue(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitDialogue(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public DialogueContext dialogue() {
DialogueContext _localctx = new DialogueContext(Context, State);
EnterRule(_localctx, 0, RULE_dialogue);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 57;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
do {
{
{
State = 56; node();
}
}
State = 59;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
} while ( _la==HEADER_TITLE );
State = 61; Match(Eof);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class NodeContext : ParserRuleContext {
public HeaderContext header() {
return GetRuleContext(0);
}
public BodyContext body() {
return GetRuleContext(0);
}
public ITerminalNode[] NEWLINE() { return GetTokens(YarnSpinnerParser.NEWLINE); }
public ITerminalNode NEWLINE(int i) {
return GetToken(YarnSpinnerParser.NEWLINE, i);
}
public NodeContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_node; } }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterNode(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitNode(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitNode(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public NodeContext node() {
NodeContext _localctx = new NodeContext(Context, State);
EnterRule(_localctx, 2, RULE_node);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 63; header();
State = 64; body();
State = 68;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
while (_la==NEWLINE) {
{
{
State = 65; Match(NEWLINE);
}
}
State = 70;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class HeaderContext : ParserRuleContext {
public Header_titleContext header_title() {
return GetRuleContext(0);
}
public Header_tagContext[] header_tag() {
return GetRuleContexts();
}
public Header_tagContext header_tag(int i) {
return GetRuleContext(i);
}
public Header_lineContext[] header_line() {
return GetRuleContexts();
}
public Header_lineContext header_line(int i) {
return GetRuleContext(i);
}
public HeaderContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_header; } }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterHeader(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitHeader(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitHeader(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public HeaderContext header() {
HeaderContext _localctx = new HeaderContext(Context, State);
EnterRule(_localctx, 4, RULE_header);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 71; header_title();
State = 76;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
while (_la==HEADER_TAGS || _la==HEADER_NAME) {
{
State = 74;
ErrorHandler.Sync(this);
switch (TokenStream.LA(1)) {
case HEADER_TAGS:
{
State = 72; header_tag();
}
break;
case HEADER_NAME:
{
State = 73; header_line();
}
break;
default:
throw new NoViableAltException(this);
}
}
State = 78;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class Header_titleContext : ParserRuleContext {
public ITerminalNode HEADER_TITLE() { return GetToken(YarnSpinnerParser.HEADER_TITLE, 0); }
public ITerminalNode TITLE_TEXT() { return GetToken(YarnSpinnerParser.TITLE_TEXT, 0); }
public ITerminalNode NEWLINE() { return GetToken(YarnSpinnerParser.NEWLINE, 0); }
public Header_titleContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_header_title; } }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterHeader_title(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitHeader_title(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitHeader_title(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public Header_titleContext header_title() {
Header_titleContext _localctx = new Header_titleContext(Context, State);
EnterRule(_localctx, 6, RULE_header_title);
try {
EnterOuterAlt(_localctx, 1);
{
State = 79; Match(HEADER_TITLE);
State = 80; Match(TITLE_TEXT);
State = 81; Match(NEWLINE);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class Header_tagContext : ParserRuleContext {
public ITerminalNode HEADER_TAGS() { return GetToken(YarnSpinnerParser.HEADER_TAGS, 0); }
public ITerminalNode TAG_TEXT() { return GetToken(YarnSpinnerParser.TAG_TEXT, 0); }
public ITerminalNode NEWLINE() { return GetToken(YarnSpinnerParser.NEWLINE, 0); }
public Header_tagContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_header_tag; } }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterHeader_tag(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitHeader_tag(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitHeader_tag(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public Header_tagContext header_tag() {
Header_tagContext _localctx = new Header_tagContext(Context, State);
EnterRule(_localctx, 8, RULE_header_tag);
try {
EnterOuterAlt(_localctx, 1);
{
State = 83; Match(HEADER_TAGS);
State = 84; Match(TAG_TEXT);
State = 85; Match(NEWLINE);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class Header_lineContext : ParserRuleContext {
public ITerminalNode HEADER_NAME() { return GetToken(YarnSpinnerParser.HEADER_NAME, 0); }
public ITerminalNode HEADER_TEXT() { return GetToken(YarnSpinnerParser.HEADER_TEXT, 0); }
public ITerminalNode NEWLINE() { return GetToken(YarnSpinnerParser.NEWLINE, 0); }
public Header_lineContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_header_line; } }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterHeader_line(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitHeader_line(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitHeader_line(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public Header_lineContext header_line() {
Header_lineContext _localctx = new Header_lineContext(Context, State);
EnterRule(_localctx, 10, RULE_header_line);
try {
EnterOuterAlt(_localctx, 1);
{
State = 87; Match(HEADER_NAME);
State = 88; Match(HEADER_SEPARATOR);
State = 89; Match(HEADER_TEXT);
State = 90; Match(NEWLINE);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class BodyContext : ParserRuleContext {
public ITerminalNode BODY_ENTER() { return GetToken(YarnSpinnerParser.BODY_ENTER, 0); }
public ITerminalNode BODY_CLOSE() { return GetToken(YarnSpinnerParser.BODY_CLOSE, 0); }
public StatementContext[] statement() {
return GetRuleContexts();
}
public StatementContext statement(int i) {
return GetRuleContext(i);
}
public BodyContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_body; } }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterBody(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitBody(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitBody(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public BodyContext body() {
BodyContext _localctx = new BodyContext(Context, State);
EnterRule(_localctx, 12, RULE_body);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 92; Match(BODY_ENTER);
State = 96;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
while (((((_la - 18)) & ~0x3f) == 0 && ((1L << (_la - 18)) & ((1L << (TEXT_STRING - 18)) | (1L << (SHORTCUT_ENTER - 18)) | (1L << (COMMAND_IF - 18)) | (1L << (COMMAND_SET - 18)) | (1L << (COMMAND_FUNC - 18)) | (1L << (OPTION_ENTER - 18)) | (1L << (TEXT - 18)) | (1L << (ACTION - 18)))) != 0)) {
{
{
State = 93; statement();
}
}
State = 98;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
}
State = 99; Match(BODY_CLOSE);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class StatementContext : ParserRuleContext {
public Shortcut_statementContext shortcut_statement() {
return GetRuleContext(0);
}
public If_statementContext if_statement() {
return GetRuleContext(0);
}
public Set_statementContext set_statement() {
return GetRuleContext(0);
}
public Option_statementContext option_statement() {
return GetRuleContext(0);
}
public Function_statementContext function_statement() {
return GetRuleContext(0);
}
public Action_statementContext action_statement() {
return GetRuleContext(0);
}
public Line_statementContext line_statement() {
return GetRuleContext(0);
}
public StatementContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_statement; } }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterStatement(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitStatement(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitStatement(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public StatementContext statement() {
StatementContext _localctx = new StatementContext(Context, State);
EnterRule(_localctx, 14, RULE_statement);
try {
State = 108;
ErrorHandler.Sync(this);
switch (TokenStream.LA(1)) {
case SHORTCUT_ENTER:
EnterOuterAlt(_localctx, 1);
{
State = 101; shortcut_statement();
}
break;
case COMMAND_IF:
EnterOuterAlt(_localctx, 2);
{
State = 102; if_statement();
}
break;
case COMMAND_SET:
EnterOuterAlt(_localctx, 3);
{
State = 103; set_statement();
}
break;
case OPTION_ENTER:
EnterOuterAlt(_localctx, 4);
{
State = 104; option_statement();
}
break;
case COMMAND_FUNC:
EnterOuterAlt(_localctx, 5);
{
State = 105; function_statement();
}
break;
case ACTION:
EnterOuterAlt(_localctx, 6);
{
State = 106; action_statement();
}
break;
case TEXT_STRING:
case TEXT:
EnterOuterAlt(_localctx, 7);
{
State = 107; line_statement();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class Shortcut_statementContext : ParserRuleContext {
public ShortcutContext[] shortcut() {
return GetRuleContexts();
}
public ShortcutContext shortcut(int i) {
return GetRuleContext(i);
}
public Shortcut_statementContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_shortcut_statement; } }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterShortcut_statement(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitShortcut_statement(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitShortcut_statement(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public Shortcut_statementContext shortcut_statement() {
Shortcut_statementContext _localctx = new Shortcut_statementContext(Context, State);
EnterRule(_localctx, 16, RULE_shortcut_statement);
try {
int _alt;
EnterOuterAlt(_localctx, 1);
{
State = 111;
ErrorHandler.Sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
State = 110; shortcut();
}
}
break;
default:
throw new NoViableAltException(this);
}
State = 113;
ErrorHandler.Sync(this);
_alt = Interpreter.AdaptivePredict(TokenStream,6,Context);
} while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER );
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class ShortcutContext : ParserRuleContext {
public ITerminalNode SHORTCUT_ENTER() { return GetToken(YarnSpinnerParser.SHORTCUT_ENTER, 0); }
public Shortcut_textContext shortcut_text() {
return GetRuleContext(0);
}
public Shortcut_conditionalContext shortcut_conditional() {
return GetRuleContext(0);
}
public Hashtag_blockContext hashtag_block() {
return GetRuleContext(0);
}
public ITerminalNode INDENT() { return GetToken(YarnSpinnerParser.INDENT, 0); }
public ITerminalNode DEDENT() { return GetToken(YarnSpinnerParser.DEDENT, 0); }
public StatementContext[] statement() {
return GetRuleContexts();
}
public StatementContext statement(int i) {
return GetRuleContext(i);
}
public ShortcutContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_shortcut; } }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterShortcut(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitShortcut(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitShortcut(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public ShortcutContext shortcut() {
ShortcutContext _localctx = new ShortcutContext(Context, State);
EnterRule(_localctx, 18, RULE_shortcut);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 115; Match(SHORTCUT_ENTER);
State = 116; shortcut_text();
State = 118;
ErrorHandler.Sync(this);
switch ( Interpreter.AdaptivePredict(TokenStream,7,Context) ) {
case 1:
{
State = 117; shortcut_conditional();
}
break;
}
State = 121;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
if (_la==HASHTAG) {
{
State = 120; hashtag_block();
}
}
State = 131;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
if (_la==INDENT) {
{
State = 123; Match(INDENT);
State = 127;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
while (((((_la - 18)) & ~0x3f) == 0 && ((1L << (_la - 18)) & ((1L << (TEXT_STRING - 18)) | (1L << (SHORTCUT_ENTER - 18)) | (1L << (COMMAND_IF - 18)) | (1L << (COMMAND_SET - 18)) | (1L << (COMMAND_FUNC - 18)) | (1L << (OPTION_ENTER - 18)) | (1L << (TEXT - 18)) | (1L << (ACTION - 18)))) != 0)) {
{
{
State = 124; statement();
}
}
State = 129;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
}
State = 130; Match(DEDENT);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class Shortcut_conditionalContext : ParserRuleContext {
public ITerminalNode COMMAND_IF() { return GetToken(YarnSpinnerParser.COMMAND_IF, 0); }
public ExpressionContext expression() {
return GetRuleContext(0);
}
public ITerminalNode COMMAND_CLOSE() { return GetToken(YarnSpinnerParser.COMMAND_CLOSE, 0); }
public Shortcut_conditionalContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_shortcut_conditional; } }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterShortcut_conditional(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitShortcut_conditional(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitShortcut_conditional(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public Shortcut_conditionalContext shortcut_conditional() {
Shortcut_conditionalContext _localctx = new Shortcut_conditionalContext(Context, State);
EnterRule(_localctx, 20, RULE_shortcut_conditional);
try {
EnterOuterAlt(_localctx, 1);
{
State = 133; Match(COMMAND_IF);
State = 134; expression(0);
State = 135; Match(COMMAND_CLOSE);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class Shortcut_textContext : ParserRuleContext {
public ITerminalNode SHORTCUT_TEXT() { return GetToken(YarnSpinnerParser.SHORTCUT_TEXT, 0); }
public Shortcut_textContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_shortcut_text; } }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterShortcut_text(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitShortcut_text(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitShortcut_text(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public Shortcut_textContext shortcut_text() {
Shortcut_textContext _localctx = new Shortcut_textContext(Context, State);
EnterRule(_localctx, 22, RULE_shortcut_text);
try {
EnterOuterAlt(_localctx, 1);
{
State = 137; Match(SHORTCUT_TEXT);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class If_statementContext : ParserRuleContext {
public If_clauseContext if_clause() {
return GetRuleContext(0);
}
public ITerminalNode COMMAND_ENDIF() { return GetToken(YarnSpinnerParser.COMMAND_ENDIF, 0); }
public Else_if_clauseContext[] else_if_clause() {
return GetRuleContexts();
}
public Else_if_clauseContext else_if_clause(int i) {
return GetRuleContext(i);
}
public Else_clauseContext else_clause() {
return GetRuleContext(0);
}
public Hashtag_blockContext hashtag_block() {
return GetRuleContext(0);
}
public If_statementContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_if_statement; } }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterIf_statement(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitIf_statement(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitIf_statement(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public If_statementContext if_statement() {
If_statementContext _localctx = new If_statementContext(Context, State);
EnterRule(_localctx, 24, RULE_if_statement);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 139; if_clause();
State = 143;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
while (_la==COMMAND_ELSE_IF) {
{
{
State = 140; else_if_clause();
}
}
State = 145;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
}
State = 147;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
if (_la==COMMAND_ELSE) {
{
State = 146; else_clause();
}
}
State = 149; Match(COMMAND_ENDIF);
State = 151;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
if (_la==HASHTAG) {
{
State = 150; hashtag_block();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class If_clauseContext : ParserRuleContext {
public ITerminalNode COMMAND_IF() { return GetToken(YarnSpinnerParser.COMMAND_IF, 0); }
public ExpressionContext expression() {
return GetRuleContext(0);
}
public ITerminalNode COMMAND_CLOSE() { return GetToken(YarnSpinnerParser.COMMAND_CLOSE, 0); }
public StatementContext[] statement() {
return GetRuleContexts();
}
public StatementContext statement(int i) {
return GetRuleContext(i);
}
public If_clauseContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_if_clause; } }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterIf_clause(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitIf_clause(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitIf_clause(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public If_clauseContext if_clause() {
If_clauseContext _localctx = new If_clauseContext(Context, State);
EnterRule(_localctx, 26, RULE_if_clause);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 153; Match(COMMAND_IF);
State = 154; expression(0);
State = 155; Match(COMMAND_CLOSE);
State = 159;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
while (((((_la - 18)) & ~0x3f) == 0 && ((1L << (_la - 18)) & ((1L << (TEXT_STRING - 18)) | (1L << (SHORTCUT_ENTER - 18)) | (1L << (COMMAND_IF - 18)) | (1L << (COMMAND_SET - 18)) | (1L << (COMMAND_FUNC - 18)) | (1L << (OPTION_ENTER - 18)) | (1L << (TEXT - 18)) | (1L << (ACTION - 18)))) != 0)) {
{
{
State = 156; statement();
}
}
State = 161;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class Else_if_clauseContext : ParserRuleContext {
public ITerminalNode COMMAND_ELSE_IF() { return GetToken(YarnSpinnerParser.COMMAND_ELSE_IF, 0); }
public ExpressionContext expression() {
return GetRuleContext(0);
}
public ITerminalNode COMMAND_CLOSE() { return GetToken(YarnSpinnerParser.COMMAND_CLOSE, 0); }
public StatementContext[] statement() {
return GetRuleContexts();
}
public StatementContext statement(int i) {
return GetRuleContext(i);
}
public Else_if_clauseContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_else_if_clause; } }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterElse_if_clause(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitElse_if_clause(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitElse_if_clause(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public Else_if_clauseContext else_if_clause() {
Else_if_clauseContext _localctx = new Else_if_clauseContext(Context, State);
EnterRule(_localctx, 28, RULE_else_if_clause);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 162; Match(COMMAND_ELSE_IF);
State = 163; expression(0);
State = 164; Match(COMMAND_CLOSE);
State = 168;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
while (((((_la - 18)) & ~0x3f) == 0 && ((1L << (_la - 18)) & ((1L << (TEXT_STRING - 18)) | (1L << (SHORTCUT_ENTER - 18)) | (1L << (COMMAND_IF - 18)) | (1L << (COMMAND_SET - 18)) | (1L << (COMMAND_FUNC - 18)) | (1L << (OPTION_ENTER - 18)) | (1L << (TEXT - 18)) | (1L << (ACTION - 18)))) != 0)) {
{
{
State = 165; statement();
}
}
State = 170;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class Else_clauseContext : ParserRuleContext {
public ITerminalNode COMMAND_ELSE() { return GetToken(YarnSpinnerParser.COMMAND_ELSE, 0); }
public StatementContext[] statement() {
return GetRuleContexts();
}
public StatementContext statement(int i) {
return GetRuleContext(i);
}
public Else_clauseContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_else_clause; } }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterElse_clause(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitElse_clause(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitElse_clause(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public Else_clauseContext else_clause() {
Else_clauseContext _localctx = new Else_clauseContext(Context, State);
EnterRule(_localctx, 30, RULE_else_clause);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 171; Match(COMMAND_ELSE);
State = 175;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
while (((((_la - 18)) & ~0x3f) == 0 && ((1L << (_la - 18)) & ((1L << (TEXT_STRING - 18)) | (1L << (SHORTCUT_ENTER - 18)) | (1L << (COMMAND_IF - 18)) | (1L << (COMMAND_SET - 18)) | (1L << (COMMAND_FUNC - 18)) | (1L << (OPTION_ENTER - 18)) | (1L << (TEXT - 18)) | (1L << (ACTION - 18)))) != 0)) {
{
{
State = 172; statement();
}
}
State = 177;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class Set_statementContext : ParserRuleContext {
public ITerminalNode COMMAND_SET() { return GetToken(YarnSpinnerParser.COMMAND_SET, 0); }
public VariableContext variable() {
return GetRuleContext(0);
}
public ExpressionContext expression() {
return GetRuleContext(0);
}
public ITerminalNode COMMAND_CLOSE() { return GetToken(YarnSpinnerParser.COMMAND_CLOSE, 0); }
public ITerminalNode[] KEYWORD_TO() { return GetTokens(YarnSpinnerParser.KEYWORD_TO); }
public ITerminalNode KEYWORD_TO(int i) {
return GetToken(YarnSpinnerParser.KEYWORD_TO, i);
}
public Set_statementContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_set_statement; } }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterSet_statement(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitSet_statement(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitSet_statement(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public Set_statementContext set_statement() {
Set_statementContext _localctx = new Set_statementContext(Context, State);
EnterRule(_localctx, 32, RULE_set_statement);
int _la;
try {
State = 193;
ErrorHandler.Sync(this);
switch ( Interpreter.AdaptivePredict(TokenStream,18,Context) ) {
case 1:
EnterOuterAlt(_localctx, 1);
{
State = 178; Match(COMMAND_SET);
State = 179; variable();
State = 183;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
while (_la==KEYWORD_TO) {
{
{
State = 180; Match(KEYWORD_TO);
}
}
State = 185;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
}
State = 186; expression(0);
State = 187; Match(COMMAND_CLOSE);
}
break;
case 2:
EnterOuterAlt(_localctx, 2);
{
State = 189; Match(COMMAND_SET);
State = 190; expression(0);
State = 191; Match(COMMAND_CLOSE);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class Option_statementContext : ParserRuleContext {
public ITerminalNode OPTION_TEXT() { return GetToken(YarnSpinnerParser.OPTION_TEXT, 0); }
public ITerminalNode OPTION_LINK() { return GetToken(YarnSpinnerParser.OPTION_LINK, 0); }
public Hashtag_blockContext hashtag_block() {
return GetRuleContext(0);
}
public Option_statementContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_option_statement; } }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterOption_statement(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitOption_statement(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitOption_statement(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public Option_statementContext option_statement() {
Option_statementContext _localctx = new Option_statementContext(Context, State);
EnterRule(_localctx, 34, RULE_option_statement);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 203;
ErrorHandler.Sync(this);
switch ( Interpreter.AdaptivePredict(TokenStream,19,Context) ) {
case 1:
{
State = 195; Match(OPTION_ENTER);
State = 196; Match(OPTION_TEXT);
State = 197; Match(OPTION_SEPARATOR);
State = 198; Match(OPTION_LINK);
State = 199; Match(OPTION_CLOSE);
}
break;
case 2:
{
State = 200; Match(OPTION_ENTER);
State = 201; Match(OPTION_TEXT);
State = 202; Match(OPTION_CLOSE);
}
break;
}
State = 206;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
if (_la==HASHTAG) {
{
State = 205; hashtag_block();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class FunctionContext : ParserRuleContext {
public ITerminalNode FUNC_ID() { return GetToken(YarnSpinnerParser.FUNC_ID, 0); }
public ExpressionContext[] expression() {
return GetRuleContexts();
}
public ExpressionContext expression(int i) {
return GetRuleContext(i);
}
public ITerminalNode[] COMMA() { return GetTokens(YarnSpinnerParser.COMMA); }
public ITerminalNode COMMA(int i) {
return GetToken(YarnSpinnerParser.COMMA, i);
}
public FunctionContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_function; } }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterFunction(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitFunction(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitFunction(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public FunctionContext function() {
FunctionContext _localctx = new FunctionContext(Context, State);
EnterRule(_localctx, 36, RULE_function);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 208; Match(FUNC_ID);
State = 209; Match(LPAREN);
State = 211;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
if (((((_la - 35)) & ~0x3f) == 0 && ((1L << (_la - 35)) & ((1L << (COMMAND_STRING - 35)) | (1L << (KEYWORD_TRUE - 35)) | (1L << (KEYWORD_FALSE - 35)) | (1L << (KEYWORD_NULL - 35)) | (1L << (OPERATOR_LOGICAL_NOT - 35)) | (1L << (OPERATOR_MATHS_SUBTRACTION - 35)) | (1L << (LPAREN - 35)) | (1L << (VAR_ID - 35)) | (1L << (BODY_NUMBER - 35)) | (1L << (FUNC_ID - 35)))) != 0)) {
{
State = 210; expression(0);
}
}
State = 217;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
while (_la==COMMA) {
{
{
State = 213; Match(COMMA);
State = 214; expression(0);
}
}
State = 219;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
}
State = 220; Match(RPAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class Function_statementContext : ParserRuleContext {
public ITerminalNode COMMAND_FUNC() { return GetToken(YarnSpinnerParser.COMMAND_FUNC, 0); }
public ExpressionContext[] expression() {
return GetRuleContexts();
}
public ExpressionContext expression(int i) {
return GetRuleContext(i);
}
public ITerminalNode COMMAND_CLOSE() { return GetToken(YarnSpinnerParser.COMMAND_CLOSE, 0); }
public ITerminalNode[] COMMA() { return GetTokens(YarnSpinnerParser.COMMA); }
public ITerminalNode COMMA(int i) {
return GetToken(YarnSpinnerParser.COMMA, i);
}
public Function_statementContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_function_statement; } }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterFunction_statement(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitFunction_statement(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitFunction_statement(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public Function_statementContext function_statement() {
Function_statementContext _localctx = new Function_statementContext(Context, State);
EnterRule(_localctx, 38, RULE_function_statement);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 222; Match(COMMAND_FUNC);
State = 223; expression(0);
State = 228;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
while (_la==COMMA) {
{
{
State = 224; Match(COMMA);
State = 225; expression(0);
}
}
State = 230;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
}
State = 231; Match(RPAREN);
State = 232; Match(COMMAND_CLOSE);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class Action_statementContext : ParserRuleContext {
public ITerminalNode ACTION() { return GetToken(YarnSpinnerParser.ACTION, 0); }
public Action_statementContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_action_statement; } }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterAction_statement(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitAction_statement(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitAction_statement(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public Action_statementContext action_statement() {
Action_statementContext _localctx = new Action_statementContext(Context, State);
EnterRule(_localctx, 40, RULE_action_statement);
try {
EnterOuterAlt(_localctx, 1);
{
State = 234; Match(ACTION);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class TextContext : ParserRuleContext {
public ITerminalNode TEXT() { return GetToken(YarnSpinnerParser.TEXT, 0); }
public ITerminalNode TEXT_STRING() { return GetToken(YarnSpinnerParser.TEXT_STRING, 0); }
public TextContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_text; } }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterText(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitText(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitText(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public TextContext text() {
TextContext _localctx = new TextContext(Context, State);
EnterRule(_localctx, 42, RULE_text);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 236;
_la = TokenStream.LA(1);
if ( !(_la==TEXT_STRING || _la==TEXT) ) {
ErrorHandler.RecoverInline(this);
}
else {
ErrorHandler.ReportMatch(this);
Consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class Line_statementContext : ParserRuleContext {
public TextContext text() {
return GetRuleContext(0);
}
public Hashtag_blockContext hashtag_block() {
return GetRuleContext(0);
}
public Line_statementContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_line_statement; } }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterLine_statement(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitLine_statement(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitLine_statement(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public Line_statementContext line_statement() {
Line_statementContext _localctx = new Line_statementContext(Context, State);
EnterRule(_localctx, 44, RULE_line_statement);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 238; text();
State = 240;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
if (_la==HASHTAG) {
{
State = 239; hashtag_block();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class Hashtag_blockContext : ParserRuleContext {
public HashtagContext[] hashtag() {
return GetRuleContexts();
}
public HashtagContext hashtag(int i) {
return GetRuleContext(i);
}
public Hashtag_blockContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_hashtag_block; } }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterHashtag_block(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitHashtag_block(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitHashtag_block(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public Hashtag_blockContext hashtag_block() {
Hashtag_blockContext _localctx = new Hashtag_blockContext(Context, State);
EnterRule(_localctx, 46, RULE_hashtag_block);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 243;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
do {
{
{
State = 242; hashtag();
}
}
State = 245;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
} while ( _la==HASHTAG );
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class HashtagContext : ParserRuleContext {
public ITerminalNode HASHTAG() { return GetToken(YarnSpinnerParser.HASHTAG, 0); }
public HashtagContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_hashtag; } }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterHashtag(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitHashtag(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitHashtag(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public HashtagContext hashtag() {
HashtagContext _localctx = new HashtagContext(Context, State);
EnterRule(_localctx, 48, RULE_hashtag);
try {
EnterOuterAlt(_localctx, 1);
{
State = 247; Match(HASHTAG);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class ExpressionContext : ParserRuleContext {
public ExpressionContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_expression; } }
public ExpressionContext() { }
public virtual void CopyFrom(ExpressionContext context) {
base.CopyFrom(context);
}
}
public partial class ExpParensContext : ExpressionContext {
public ExpressionContext expression() {
return GetRuleContext(0);
}
public ExpParensContext(ExpressionContext context) { CopyFrom(context); }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterExpParens(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitExpParens(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitExpParens(this);
else return visitor.VisitChildren(this);
}
}
public partial class ExpMultDivModContext : ExpressionContext {
public IToken op;
public ExpressionContext[] expression() {
return GetRuleContexts();
}
public ExpressionContext expression(int i) {
return GetRuleContext(i);
}
public ExpMultDivModContext(ExpressionContext context) { CopyFrom(context); }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterExpMultDivMod(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitExpMultDivMod(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitExpMultDivMod(this);
else return visitor.VisitChildren(this);
}
}
public partial class ExpMultDivModEqualsContext : ExpressionContext {
public IToken op;
public VariableContext variable() {
return GetRuleContext(0);
}
public ExpressionContext expression() {
return GetRuleContext(0);
}
public ExpMultDivModEqualsContext(ExpressionContext context) { CopyFrom(context); }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterExpMultDivModEquals(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitExpMultDivModEquals(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitExpMultDivModEquals(this);
else return visitor.VisitChildren(this);
}
}
public partial class ExpComparisonContext : ExpressionContext {
public IToken op;
public ExpressionContext[] expression() {
return GetRuleContexts();
}
public ExpressionContext expression(int i) {
return GetRuleContext(i);
}
public ITerminalNode OPERATOR_LOGICAL_LESS_THAN_EQUALS() { return GetToken(YarnSpinnerParser.OPERATOR_LOGICAL_LESS_THAN_EQUALS, 0); }
public ITerminalNode OPERATOR_LOGICAL_GREATER_THAN_EQUALS() { return GetToken(YarnSpinnerParser.OPERATOR_LOGICAL_GREATER_THAN_EQUALS, 0); }
public ITerminalNode OPERATOR_LOGICAL_LESS() { return GetToken(YarnSpinnerParser.OPERATOR_LOGICAL_LESS, 0); }
public ITerminalNode OPERATOR_LOGICAL_GREATER() { return GetToken(YarnSpinnerParser.OPERATOR_LOGICAL_GREATER, 0); }
public ExpComparisonContext(ExpressionContext context) { CopyFrom(context); }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterExpComparison(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitExpComparison(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitExpComparison(this);
else return visitor.VisitChildren(this);
}
}
public partial class ExpNegativeContext : ExpressionContext {
public ExpressionContext expression() {
return GetRuleContext(0);
}
public ExpNegativeContext(ExpressionContext context) { CopyFrom(context); }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterExpNegative(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitExpNegative(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitExpNegative(this);
else return visitor.VisitChildren(this);
}
}
public partial class ExpAndOrXorContext : ExpressionContext {
public IToken op;
public ExpressionContext[] expression() {
return GetRuleContexts();
}
public ExpressionContext expression(int i) {
return GetRuleContext(i);
}
public ITerminalNode OPERATOR_LOGICAL_AND() { return GetToken(YarnSpinnerParser.OPERATOR_LOGICAL_AND, 0); }
public ITerminalNode OPERATOR_LOGICAL_OR() { return GetToken(YarnSpinnerParser.OPERATOR_LOGICAL_OR, 0); }
public ITerminalNode OPERATOR_LOGICAL_XOR() { return GetToken(YarnSpinnerParser.OPERATOR_LOGICAL_XOR, 0); }
public ExpAndOrXorContext(ExpressionContext context) { CopyFrom(context); }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterExpAndOrXor(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitExpAndOrXor(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitExpAndOrXor(this);
else return visitor.VisitChildren(this);
}
}
public partial class ExpPlusMinusEqualsContext : ExpressionContext {
public IToken op;
public VariableContext variable() {
return GetRuleContext(0);
}
public ExpressionContext expression() {
return GetRuleContext(0);
}
public ExpPlusMinusEqualsContext(ExpressionContext context) { CopyFrom(context); }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterExpPlusMinusEquals(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitExpPlusMinusEquals(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitExpPlusMinusEquals(this);
else return visitor.VisitChildren(this);
}
}
public partial class ExpAddSubContext : ExpressionContext {
public IToken op;
public ExpressionContext[] expression() {
return GetRuleContexts();
}
public ExpressionContext expression(int i) {
return GetRuleContext(i);
}
public ExpAddSubContext(ExpressionContext context) { CopyFrom(context); }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterExpAddSub(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitExpAddSub(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitExpAddSub(this);
else return visitor.VisitChildren(this);
}
}
public partial class ExpNotContext : ExpressionContext {
public ITerminalNode OPERATOR_LOGICAL_NOT() { return GetToken(YarnSpinnerParser.OPERATOR_LOGICAL_NOT, 0); }
public ExpressionContext expression() {
return GetRuleContext(0);
}
public ExpNotContext(ExpressionContext context) { CopyFrom(context); }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterExpNot(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitExpNot(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitExpNot(this);
else return visitor.VisitChildren(this);
}
}
public partial class ExpValueContext : ExpressionContext {
public ValueContext value() {
return GetRuleContext(0);
}
public ExpValueContext(ExpressionContext context) { CopyFrom(context); }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterExpValue(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitExpValue(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitExpValue(this);
else return visitor.VisitChildren(this);
}
}
public partial class ExpEqualityContext : ExpressionContext {
public IToken op;
public ExpressionContext[] expression() {
return GetRuleContexts();
}
public ExpressionContext expression(int i) {
return GetRuleContext(i);
}
public ITerminalNode OPERATOR_LOGICAL_EQUALS() { return GetToken(YarnSpinnerParser.OPERATOR_LOGICAL_EQUALS, 0); }
public ITerminalNode OPERATOR_LOGICAL_NOT_EQUALS() { return GetToken(YarnSpinnerParser.OPERATOR_LOGICAL_NOT_EQUALS, 0); }
public ExpEqualityContext(ExpressionContext context) { CopyFrom(context); }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterExpEquality(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitExpEquality(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitExpEquality(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public ExpressionContext expression() {
return expression(0);
}
private ExpressionContext expression(int _p) {
ParserRuleContext _parentctx = Context;
int _parentState = State;
ExpressionContext _localctx = new ExpressionContext(Context, _parentState);
ExpressionContext _prevctx = _localctx;
int _startState = 50;
EnterRecursionRule(_localctx, 50, RULE_expression, _p);
int _la;
try {
int _alt;
EnterOuterAlt(_localctx, 1);
{
State = 267;
ErrorHandler.Sync(this);
switch ( Interpreter.AdaptivePredict(TokenStream,26,Context) ) {
case 1:
{
_localctx = new ExpParensContext(_localctx);
Context = _localctx;
_prevctx = _localctx;
State = 250; Match(LPAREN);
State = 251; expression(0);
State = 252; Match(RPAREN);
}
break;
case 2:
{
_localctx = new ExpNegativeContext(_localctx);
Context = _localctx;
_prevctx = _localctx;
State = 254; Match(OPERATOR_MATHS_SUBTRACTION);
State = 255; expression(10);
}
break;
case 3:
{
_localctx = new ExpNotContext(_localctx);
Context = _localctx;
_prevctx = _localctx;
State = 256; Match(OPERATOR_LOGICAL_NOT);
State = 257; expression(9);
}
break;
case 4:
{
_localctx = new ExpMultDivModEqualsContext(_localctx);
Context = _localctx;
_prevctx = _localctx;
State = 258; variable();
State = 259;
((ExpMultDivModEqualsContext)_localctx).op = TokenStream.LT(1);
_la = TokenStream.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << OPERATOR_MATHS_MULTIPLICATION_EQUALS) | (1L << OPERATOR_MATHS_MODULUS_EQUALS) | (1L << OPERATOR_MATHS_DIVISION_EQUALS))) != 0)) ) {
((ExpMultDivModEqualsContext)_localctx).op = ErrorHandler.RecoverInline(this);
}
else {
ErrorHandler.ReportMatch(this);
Consume();
}
State = 260; expression(4);
}
break;
case 5:
{
_localctx = new ExpPlusMinusEqualsContext(_localctx);
Context = _localctx;
_prevctx = _localctx;
State = 262; variable();
State = 263;
((ExpPlusMinusEqualsContext)_localctx).op = TokenStream.LT(1);
_la = TokenStream.LA(1);
if ( !(_la==OPERATOR_MATHS_ADDITION_EQUALS || _la==OPERATOR_MATHS_SUBTRACTION_EQUALS) ) {
((ExpPlusMinusEqualsContext)_localctx).op = ErrorHandler.RecoverInline(this);
}
else {
ErrorHandler.ReportMatch(this);
Consume();
}
State = 264; expression(3);
}
break;
case 6:
{
_localctx = new ExpValueContext(_localctx);
Context = _localctx;
_prevctx = _localctx;
State = 266; value();
}
break;
}
Context.Stop = TokenStream.LT(-1);
State = 286;
ErrorHandler.Sync(this);
_alt = Interpreter.AdaptivePredict(TokenStream,28,Context);
while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
if ( ParseListeners!=null )
TriggerExitRuleEvent();
_prevctx = _localctx;
{
State = 284;
ErrorHandler.Sync(this);
switch ( Interpreter.AdaptivePredict(TokenStream,27,Context) ) {
case 1:
{
_localctx = new ExpMultDivModContext(new ExpressionContext(_parentctx, _parentState));
PushNewRecursionContext(_localctx, _startState, RULE_expression);
State = 269;
if (!(Precpred(Context, 8))) throw new FailedPredicateException(this, "Precpred(Context, 8)");
State = 270;
((ExpMultDivModContext)_localctx).op = TokenStream.LT(1);
_la = TokenStream.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << OPERATOR_MATHS_MULTIPLICATION) | (1L << OPERATOR_MATHS_DIVISION) | (1L << OPERATOR_MATHS_MODULUS))) != 0)) ) {
((ExpMultDivModContext)_localctx).op = ErrorHandler.RecoverInline(this);
}
else {
ErrorHandler.ReportMatch(this);
Consume();
}
State = 271; expression(9);
}
break;
case 2:
{
_localctx = new ExpAddSubContext(new ExpressionContext(_parentctx, _parentState));
PushNewRecursionContext(_localctx, _startState, RULE_expression);
State = 272;
if (!(Precpred(Context, 7))) throw new FailedPredicateException(this, "Precpred(Context, 7)");
State = 273;
((ExpAddSubContext)_localctx).op = TokenStream.LT(1);
_la = TokenStream.LA(1);
if ( !(_la==OPERATOR_MATHS_ADDITION || _la==OPERATOR_MATHS_SUBTRACTION) ) {
((ExpAddSubContext)_localctx).op = ErrorHandler.RecoverInline(this);
}
else {
ErrorHandler.ReportMatch(this);
Consume();
}
State = 274; expression(8);
}
break;
case 3:
{
_localctx = new ExpComparisonContext(new ExpressionContext(_parentctx, _parentState));
PushNewRecursionContext(_localctx, _startState, RULE_expression);
State = 275;
if (!(Precpred(Context, 6))) throw new FailedPredicateException(this, "Precpred(Context, 6)");
State = 276;
((ExpComparisonContext)_localctx).op = TokenStream.LT(1);
_la = TokenStream.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << OPERATOR_LOGICAL_LESS_THAN_EQUALS) | (1L << OPERATOR_LOGICAL_GREATER_THAN_EQUALS) | (1L << OPERATOR_LOGICAL_LESS) | (1L << OPERATOR_LOGICAL_GREATER))) != 0)) ) {
((ExpComparisonContext)_localctx).op = ErrorHandler.RecoverInline(this);
}
else {
ErrorHandler.ReportMatch(this);
Consume();
}
State = 277; expression(7);
}
break;
case 4:
{
_localctx = new ExpEqualityContext(new ExpressionContext(_parentctx, _parentState));
PushNewRecursionContext(_localctx, _startState, RULE_expression);
State = 278;
if (!(Precpred(Context, 5))) throw new FailedPredicateException(this, "Precpred(Context, 5)");
State = 279;
((ExpEqualityContext)_localctx).op = TokenStream.LT(1);
_la = TokenStream.LA(1);
if ( !(_la==OPERATOR_LOGICAL_EQUALS || _la==OPERATOR_LOGICAL_NOT_EQUALS) ) {
((ExpEqualityContext)_localctx).op = ErrorHandler.RecoverInline(this);
}
else {
ErrorHandler.ReportMatch(this);
Consume();
}
State = 280; expression(6);
}
break;
case 5:
{
_localctx = new ExpAndOrXorContext(new ExpressionContext(_parentctx, _parentState));
PushNewRecursionContext(_localctx, _startState, RULE_expression);
State = 281;
if (!(Precpred(Context, 2))) throw new FailedPredicateException(this, "Precpred(Context, 2)");
State = 282;
((ExpAndOrXorContext)_localctx).op = TokenStream.LT(1);
_la = TokenStream.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << OPERATOR_LOGICAL_AND) | (1L << OPERATOR_LOGICAL_OR) | (1L << OPERATOR_LOGICAL_XOR))) != 0)) ) {
((ExpAndOrXorContext)_localctx).op = ErrorHandler.RecoverInline(this);
}
else {
ErrorHandler.ReportMatch(this);
Consume();
}
State = 283; expression(3);
}
break;
}
}
}
State = 288;
ErrorHandler.Sync(this);
_alt = Interpreter.AdaptivePredict(TokenStream,28,Context);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
UnrollRecursionContexts(_parentctx);
}
return _localctx;
}
public partial class ValueContext : ParserRuleContext {
public ValueContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_value; } }
public ValueContext() { }
public virtual void CopyFrom(ValueContext context) {
base.CopyFrom(context);
}
}
public partial class ValueNullContext : ValueContext {
public ITerminalNode KEYWORD_NULL() { return GetToken(YarnSpinnerParser.KEYWORD_NULL, 0); }
public ValueNullContext(ValueContext context) { CopyFrom(context); }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterValueNull(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitValueNull(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitValueNull(this);
else return visitor.VisitChildren(this);
}
}
public partial class ValueNumberContext : ValueContext {
public ITerminalNode BODY_NUMBER() { return GetToken(YarnSpinnerParser.BODY_NUMBER, 0); }
public ValueNumberContext(ValueContext context) { CopyFrom(context); }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterValueNumber(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitValueNumber(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitValueNumber(this);
else return visitor.VisitChildren(this);
}
}
public partial class ValueTrueContext : ValueContext {
public ITerminalNode KEYWORD_TRUE() { return GetToken(YarnSpinnerParser.KEYWORD_TRUE, 0); }
public ValueTrueContext(ValueContext context) { CopyFrom(context); }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterValueTrue(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitValueTrue(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitValueTrue(this);
else return visitor.VisitChildren(this);
}
}
public partial class ValueFalseContext : ValueContext {
public ITerminalNode KEYWORD_FALSE() { return GetToken(YarnSpinnerParser.KEYWORD_FALSE, 0); }
public ValueFalseContext(ValueContext context) { CopyFrom(context); }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterValueFalse(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitValueFalse(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitValueFalse(this);
else return visitor.VisitChildren(this);
}
}
public partial class ValueFuncContext : ValueContext {
public FunctionContext function() {
return GetRuleContext(0);
}
public ValueFuncContext(ValueContext context) { CopyFrom(context); }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterValueFunc(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitValueFunc(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitValueFunc(this);
else return visitor.VisitChildren(this);
}
}
public partial class ValueVarContext : ValueContext {
public VariableContext variable() {
return GetRuleContext(0);
}
public ValueVarContext(ValueContext context) { CopyFrom(context); }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterValueVar(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitValueVar(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitValueVar(this);
else return visitor.VisitChildren(this);
}
}
public partial class ValueStringContext : ValueContext {
public ITerminalNode COMMAND_STRING() { return GetToken(YarnSpinnerParser.COMMAND_STRING, 0); }
public ValueStringContext(ValueContext context) { CopyFrom(context); }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterValueString(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitValueString(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitValueString(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public ValueContext value() {
ValueContext _localctx = new ValueContext(Context, State);
EnterRule(_localctx, 52, RULE_value);
try {
State = 296;
ErrorHandler.Sync(this);
switch (TokenStream.LA(1)) {
case BODY_NUMBER:
_localctx = new ValueNumberContext(_localctx);
EnterOuterAlt(_localctx, 1);
{
State = 289; Match(BODY_NUMBER);
}
break;
case KEYWORD_TRUE:
_localctx = new ValueTrueContext(_localctx);
EnterOuterAlt(_localctx, 2);
{
State = 290; Match(KEYWORD_TRUE);
}
break;
case KEYWORD_FALSE:
_localctx = new ValueFalseContext(_localctx);
EnterOuterAlt(_localctx, 3);
{
State = 291; Match(KEYWORD_FALSE);
}
break;
case VAR_ID:
_localctx = new ValueVarContext(_localctx);
EnterOuterAlt(_localctx, 4);
{
State = 292; variable();
}
break;
case COMMAND_STRING:
_localctx = new ValueStringContext(_localctx);
EnterOuterAlt(_localctx, 5);
{
State = 293; Match(COMMAND_STRING);
}
break;
case FUNC_ID:
_localctx = new ValueFuncContext(_localctx);
EnterOuterAlt(_localctx, 6);
{
State = 294; function();
}
break;
case KEYWORD_NULL:
_localctx = new ValueNullContext(_localctx);
EnterOuterAlt(_localctx, 7);
{
State = 295; Match(KEYWORD_NULL);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class VariableContext : ParserRuleContext {
public ITerminalNode VAR_ID() { return GetToken(YarnSpinnerParser.VAR_ID, 0); }
public VariableContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_variable; } }
public override void EnterRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.EnterVariable(this);
}
public override void ExitRule(IParseTreeListener listener) {
IYarnSpinnerParserListener typedListener = listener as IYarnSpinnerParserListener;
if (typedListener != null) typedListener.ExitVariable(this);
}
public override TResult Accept(IParseTreeVisitor visitor) {
IYarnSpinnerParserVisitor typedVisitor = visitor as IYarnSpinnerParserVisitor;
if (typedVisitor != null) return typedVisitor.VisitVariable(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public VariableContext variable() {
VariableContext _localctx = new VariableContext(Context, State);
EnterRule(_localctx, 54, RULE_variable);
try {
EnterOuterAlt(_localctx, 1);
{
State = 298; Match(VAR_ID);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public override bool Sempred(RuleContext _localctx, int ruleIndex, int predIndex) {
switch (ruleIndex) {
case 25: return expression_sempred((ExpressionContext)_localctx, predIndex);
}
return true;
}
private bool expression_sempred(ExpressionContext _localctx, int predIndex) {
switch (predIndex) {
case 0: return Precpred(Context, 8);
case 1: return Precpred(Context, 7);
case 2: return Precpred(Context, 6);
case 3: return Precpred(Context, 5);
case 4: return Precpred(Context, 2);
}
return true;
}
private static char[] _serializedATN = {
'\x3', '\x608B', '\xA72A', '\x8133', '\xB9ED', '\x417C', '\x3BE7', '\x7786',
'\x5964', '\x3', 'M', '\x12F', '\x4', '\x2', '\t', '\x2', '\x4', '\x3',
'\t', '\x3', '\x4', '\x4', '\t', '\x4', '\x4', '\x5', '\t', '\x5', '\x4',
'\x6', '\t', '\x6', '\x4', '\a', '\t', '\a', '\x4', '\b', '\t', '\b',
'\x4', '\t', '\t', '\t', '\x4', '\n', '\t', '\n', '\x4', '\v', '\t', '\v',
'\x4', '\f', '\t', '\f', '\x4', '\r', '\t', '\r', '\x4', '\xE', '\t',
'\xE', '\x4', '\xF', '\t', '\xF', '\x4', '\x10', '\t', '\x10', '\x4',
'\x11', '\t', '\x11', '\x4', '\x12', '\t', '\x12', '\x4', '\x13', '\t',
'\x13', '\x4', '\x14', '\t', '\x14', '\x4', '\x15', '\t', '\x15', '\x4',
'\x16', '\t', '\x16', '\x4', '\x17', '\t', '\x17', '\x4', '\x18', '\t',
'\x18', '\x4', '\x19', '\t', '\x19', '\x4', '\x1A', '\t', '\x1A', '\x4',
'\x1B', '\t', '\x1B', '\x4', '\x1C', '\t', '\x1C', '\x4', '\x1D', '\t',
'\x1D', '\x3', '\x2', '\x6', '\x2', '<', '\n', '\x2', '\r', '\x2', '\xE',
'\x2', '=', '\x3', '\x2', '\x3', '\x2', '\x3', '\x3', '\x3', '\x3', '\x3',
'\x3', '\a', '\x3', '\x45', '\n', '\x3', '\f', '\x3', '\xE', '\x3', 'H',
'\v', '\x3', '\x3', '\x4', '\x3', '\x4', '\x3', '\x4', '\a', '\x4', 'M',
'\n', '\x4', '\f', '\x4', '\xE', '\x4', 'P', '\v', '\x4', '\x3', '\x5',
'\x3', '\x5', '\x3', '\x5', '\x3', '\x5', '\x3', '\x6', '\x3', '\x6',
'\x3', '\x6', '\x3', '\x6', '\x3', '\a', '\x3', '\a', '\x3', '\a', '\x3',
'\a', '\x3', '\a', '\x3', '\b', '\x3', '\b', '\a', '\b', '\x61', '\n',
'\b', '\f', '\b', '\xE', '\b', '\x64', '\v', '\b', '\x3', '\b', '\x3',
'\b', '\x3', '\t', '\x3', '\t', '\x3', '\t', '\x3', '\t', '\x3', '\t',
'\x3', '\t', '\x3', '\t', '\x5', '\t', 'o', '\n', '\t', '\x3', '\n', '\x6',
'\n', 'r', '\n', '\n', '\r', '\n', '\xE', '\n', 's', '\x3', '\v', '\x3',
'\v', '\x3', '\v', '\x5', '\v', 'y', '\n', '\v', '\x3', '\v', '\x5', '\v',
'|', '\n', '\v', '\x3', '\v', '\x3', '\v', '\a', '\v', '\x80', '\n', '\v',
'\f', '\v', '\xE', '\v', '\x83', '\v', '\v', '\x3', '\v', '\x5', '\v',
'\x86', '\n', '\v', '\x3', '\f', '\x3', '\f', '\x3', '\f', '\x3', '\f',
'\x3', '\r', '\x3', '\r', '\x3', '\xE', '\x3', '\xE', '\a', '\xE', '\x90',
'\n', '\xE', '\f', '\xE', '\xE', '\xE', '\x93', '\v', '\xE', '\x3', '\xE',
'\x5', '\xE', '\x96', '\n', '\xE', '\x3', '\xE', '\x3', '\xE', '\x5',
'\xE', '\x9A', '\n', '\xE', '\x3', '\xF', '\x3', '\xF', '\x3', '\xF',
'\x3', '\xF', '\a', '\xF', '\xA0', '\n', '\xF', '\f', '\xF', '\xE', '\xF',
'\xA3', '\v', '\xF', '\x3', '\x10', '\x3', '\x10', '\x3', '\x10', '\x3',
'\x10', '\a', '\x10', '\xA9', '\n', '\x10', '\f', '\x10', '\xE', '\x10',
'\xAC', '\v', '\x10', '\x3', '\x11', '\x3', '\x11', '\a', '\x11', '\xB0',
'\n', '\x11', '\f', '\x11', '\xE', '\x11', '\xB3', '\v', '\x11', '\x3',
'\x12', '\x3', '\x12', '\x3', '\x12', '\a', '\x12', '\xB8', '\n', '\x12',
'\f', '\x12', '\xE', '\x12', '\xBB', '\v', '\x12', '\x3', '\x12', '\x3',
'\x12', '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', '\x3',
'\x12', '\x5', '\x12', '\xC4', '\n', '\x12', '\x3', '\x13', '\x3', '\x13',
'\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13',
'\x3', '\x13', '\x5', '\x13', '\xCE', '\n', '\x13', '\x3', '\x13', '\x5',
'\x13', '\xD1', '\n', '\x13', '\x3', '\x14', '\x3', '\x14', '\x3', '\x14',
'\x5', '\x14', '\xD6', '\n', '\x14', '\x3', '\x14', '\x3', '\x14', '\a',
'\x14', '\xDA', '\n', '\x14', '\f', '\x14', '\xE', '\x14', '\xDD', '\v',
'\x14', '\x3', '\x14', '\x3', '\x14', '\x3', '\x15', '\x3', '\x15', '\x3',
'\x15', '\x3', '\x15', '\a', '\x15', '\xE5', '\n', '\x15', '\f', '\x15',
'\xE', '\x15', '\xE8', '\v', '\x15', '\x3', '\x15', '\x3', '\x15', '\x3',
'\x15', '\x3', '\x16', '\x3', '\x16', '\x3', '\x17', '\x3', '\x17', '\x3',
'\x18', '\x3', '\x18', '\x5', '\x18', '\xF3', '\n', '\x18', '\x3', '\x19',
'\x6', '\x19', '\xF6', '\n', '\x19', '\r', '\x19', '\xE', '\x19', '\xF7',
'\x3', '\x1A', '\x3', '\x1A', '\x3', '\x1B', '\x3', '\x1B', '\x3', '\x1B',
'\x3', '\x1B', '\x3', '\x1B', '\x3', '\x1B', '\x3', '\x1B', '\x3', '\x1B',
'\x3', '\x1B', '\x3', '\x1B', '\x3', '\x1B', '\x3', '\x1B', '\x3', '\x1B',
'\x3', '\x1B', '\x3', '\x1B', '\x3', '\x1B', '\x3', '\x1B', '\x3', '\x1B',
'\x5', '\x1B', '\x10E', '\n', '\x1B', '\x3', '\x1B', '\x3', '\x1B', '\x3',
'\x1B', '\x3', '\x1B', '\x3', '\x1B', '\x3', '\x1B', '\x3', '\x1B', '\x3',
'\x1B', '\x3', '\x1B', '\x3', '\x1B', '\x3', '\x1B', '\x3', '\x1B', '\x3',
'\x1B', '\x3', '\x1B', '\x3', '\x1B', '\a', '\x1B', '\x11F', '\n', '\x1B',
'\f', '\x1B', '\xE', '\x1B', '\x122', '\v', '\x1B', '\x3', '\x1C', '\x3',
'\x1C', '\x3', '\x1C', '\x3', '\x1C', '\x3', '\x1C', '\x3', '\x1C', '\x3',
'\x1C', '\x5', '\x1C', '\x12B', '\n', '\x1C', '\x3', '\x1D', '\x3', '\x1D',
'\x3', '\x1D', '\x2', '\x3', '\x34', '\x1E', '\x2', '\x4', '\x6', '\b',
'\n', '\f', '\xE', '\x10', '\x12', '\x14', '\x16', '\x18', '\x1A', '\x1C',
'\x1E', ' ', '\"', '$', '&', '(', '*', ',', '.', '\x30', '\x32', '\x34',
'\x36', '\x38', '\x2', '\n', '\x4', '\x2', '\x14', '\x14', '!', '!', '\x3',
'\x2', ':', '<', '\x3', '\x2', '\x38', '\x39', '\x3', '\x2', '?', '\x41',
'\x3', '\x2', '=', '>', '\x4', '\x2', '.', '/', '\x31', '\x32', '\x4',
'\x2', '\x30', '\x30', '\x33', '\x33', '\x3', '\x2', '\x34', '\x36', '\x2',
'\x141', '\x2', ';', '\x3', '\x2', '\x2', '\x2', '\x4', '\x41', '\x3',
'\x2', '\x2', '\x2', '\x6', 'I', '\x3', '\x2', '\x2', '\x2', '\b', 'Q',
'\x3', '\x2', '\x2', '\x2', '\n', 'U', '\x3', '\x2', '\x2', '\x2', '\f',
'Y', '\x3', '\x2', '\x2', '\x2', '\xE', '^', '\x3', '\x2', '\x2', '\x2',
'\x10', 'n', '\x3', '\x2', '\x2', '\x2', '\x12', 'q', '\x3', '\x2', '\x2',
'\x2', '\x14', 'u', '\x3', '\x2', '\x2', '\x2', '\x16', '\x87', '\x3',
'\x2', '\x2', '\x2', '\x18', '\x8B', '\x3', '\x2', '\x2', '\x2', '\x1A',
'\x8D', '\x3', '\x2', '\x2', '\x2', '\x1C', '\x9B', '\x3', '\x2', '\x2',
'\x2', '\x1E', '\xA4', '\x3', '\x2', '\x2', '\x2', ' ', '\xAD', '\x3',
'\x2', '\x2', '\x2', '\"', '\xC3', '\x3', '\x2', '\x2', '\x2', '$', '\xCD',
'\x3', '\x2', '\x2', '\x2', '&', '\xD2', '\x3', '\x2', '\x2', '\x2', '(',
'\xE0', '\x3', '\x2', '\x2', '\x2', '*', '\xEC', '\x3', '\x2', '\x2',
'\x2', ',', '\xEE', '\x3', '\x2', '\x2', '\x2', '.', '\xF0', '\x3', '\x2',
'\x2', '\x2', '\x30', '\xF5', '\x3', '\x2', '\x2', '\x2', '\x32', '\xF9',
'\x3', '\x2', '\x2', '\x2', '\x34', '\x10D', '\x3', '\x2', '\x2', '\x2',
'\x36', '\x12A', '\x3', '\x2', '\x2', '\x2', '\x38', '\x12C', '\x3', '\x2',
'\x2', '\x2', ':', '<', '\x5', '\x4', '\x3', '\x2', ';', ':', '\x3', '\x2',
'\x2', '\x2', '<', '=', '\x3', '\x2', '\x2', '\x2', '=', ';', '\x3', '\x2',
'\x2', '\x2', '=', '>', '\x3', '\x2', '\x2', '\x2', '>', '?', '\x3', '\x2',
'\x2', '\x2', '?', '@', '\a', '\x2', '\x2', '\x3', '@', '\x3', '\x3',
'\x2', '\x2', '\x2', '\x41', '\x42', '\x5', '\x6', '\x4', '\x2', '\x42',
'\x46', '\x5', '\xE', '\b', '\x2', '\x43', '\x45', '\a', '\n', '\x2',
'\x2', '\x44', '\x43', '\x3', '\x2', '\x2', '\x2', '\x45', 'H', '\x3',
'\x2', '\x2', '\x2', '\x46', '\x44', '\x3', '\x2', '\x2', '\x2', '\x46',
'G', '\x3', '\x2', '\x2', '\x2', 'G', '\x5', '\x3', '\x2', '\x2', '\x2',
'H', '\x46', '\x3', '\x2', '\x2', '\x2', 'I', 'N', '\x5', '\b', '\x5',
'\x2', 'J', 'M', '\x5', '\n', '\x6', '\x2', 'K', 'M', '\x5', '\f', '\a',
'\x2', 'L', 'J', '\x3', '\x2', '\x2', '\x2', 'L', 'K', '\x3', '\x2', '\x2',
'\x2', 'M', 'P', '\x3', '\x2', '\x2', '\x2', 'N', 'L', '\x3', '\x2', '\x2',
'\x2', 'N', 'O', '\x3', '\x2', '\x2', '\x2', 'O', '\a', '\x3', '\x2',
'\x2', '\x2', 'P', 'N', '\x3', '\x2', '\x2', '\x2', 'Q', 'R', '\a', '\x4',
'\x2', '\x2', 'R', 'S', '\a', '\r', '\x2', '\x2', 'S', 'T', '\a', '\n',
'\x2', '\x2', 'T', '\t', '\x3', '\x2', '\x2', '\x2', 'U', 'V', '\a', '\x5',
'\x2', '\x2', 'V', 'W', '\a', '\xE', '\x2', '\x2', 'W', 'X', '\a', '\n',
'\x2', '\x2', 'X', '\v', '\x3', '\x2', '\x2', '\x2', 'Y', 'Z', '\a', '\x6',
'\x2', '\x2', 'Z', '[', '\a', '\a', '\x2', '\x2', '[', '\\', '\a', '\x10',
'\x2', '\x2', '\\', ']', '\a', '\n', '\x2', '\x2', ']', '\r', '\x3', '\x2',
'\x2', '\x2', '^', '\x62', '\a', '\x3', '\x2', '\x2', '_', '\x61', '\x5',
'\x10', '\t', '\x2', '`', '_', '\x3', '\x2', '\x2', '\x2', '\x61', '\x64',
'\x3', '\x2', '\x2', '\x2', '\x62', '`', '\x3', '\x2', '\x2', '\x2', '\x62',
'\x63', '\x3', '\x2', '\x2', '\x2', '\x63', '\x65', '\x3', '\x2', '\x2',
'\x2', '\x64', '\x62', '\x3', '\x2', '\x2', '\x2', '\x65', '\x66', '\a',
'\x13', '\x2', '\x2', '\x66', '\xF', '\x3', '\x2', '\x2', '\x2', 'g',
'o', '\x5', '\x12', '\n', '\x2', 'h', 'o', '\x5', '\x1A', '\xE', '\x2',
'i', 'o', '\x5', '\"', '\x12', '\x2', 'j', 'o', '\x5', '$', '\x13', '\x2',
'k', 'o', '\x5', '(', '\x15', '\x2', 'l', 'o', '\x5', '*', '\x16', '\x2',
'm', 'o', '\x5', '.', '\x18', '\x2', 'n', 'g', '\x3', '\x2', '\x2', '\x2',
'n', 'h', '\x3', '\x2', '\x2', '\x2', 'n', 'i', '\x3', '\x2', '\x2', '\x2',
'n', 'j', '\x3', '\x2', '\x2', '\x2', 'n', 'k', '\x3', '\x2', '\x2', '\x2',
'n', 'l', '\x3', '\x2', '\x2', '\x2', 'n', 'm', '\x3', '\x2', '\x2', '\x2',
'o', '\x11', '\x3', '\x2', '\x2', '\x2', 'p', 'r', '\x5', '\x14', '\v',
'\x2', 'q', 'p', '\x3', '\x2', '\x2', '\x2', 'r', 's', '\x3', '\x2', '\x2',
'\x2', 's', 'q', '\x3', '\x2', '\x2', '\x2', 's', 't', '\x3', '\x2', '\x2',
'\x2', 't', '\x13', '\x3', '\x2', '\x2', '\x2', 'u', 'v', '\a', '\x15',
'\x2', '\x2', 'v', 'x', '\x5', '\x18', '\r', '\x2', 'w', 'y', '\x5', '\x16',
'\f', '\x2', 'x', 'w', '\x3', '\x2', '\x2', '\x2', 'x', 'y', '\x3', '\x2',
'\x2', '\x2', 'y', '{', '\x3', '\x2', '\x2', '\x2', 'z', '|', '\x5', '\x30',
'\x19', '\x2', '{', 'z', '\x3', '\x2', '\x2', '\x2', '{', '|', '\x3',
'\x2', '\x2', '\x2', '|', '\x85', '\x3', '\x2', '\x2', '\x2', '}', '\x81',
'\a', '\x16', '\x2', '\x2', '~', '\x80', '\x5', '\x10', '\t', '\x2', '\x7F',
'~', '\x3', '\x2', '\x2', '\x2', '\x80', '\x83', '\x3', '\x2', '\x2',
'\x2', '\x81', '\x7F', '\x3', '\x2', '\x2', '\x2', '\x81', '\x82', '\x3',
'\x2', '\x2', '\x2', '\x82', '\x84', '\x3', '\x2', '\x2', '\x2', '\x83',
'\x81', '\x3', '\x2', '\x2', '\x2', '\x84', '\x86', '\a', '\x17', '\x2',
'\x2', '\x85', '}', '\x3', '\x2', '\x2', '\x2', '\x85', '\x86', '\x3',
'\x2', '\x2', '\x2', '\x86', '\x15', '\x3', '\x2', '\x2', '\x2', '\x87',
'\x88', '\a', '\x18', '\x2', '\x2', '\x88', '\x89', '\x5', '\x34', '\x1B',
'\x2', '\x89', '\x8A', '\a', '$', '\x2', '\x2', '\x8A', '\x17', '\x3',
'\x2', '\x2', '\x2', '\x8B', '\x8C', '\a', '\"', '\x2', '\x2', '\x8C',
'\x19', '\x3', '\x2', '\x2', '\x2', '\x8D', '\x91', '\x5', '\x1C', '\xF',
'\x2', '\x8E', '\x90', '\x5', '\x1E', '\x10', '\x2', '\x8F', '\x8E', '\x3',
'\x2', '\x2', '\x2', '\x90', '\x93', '\x3', '\x2', '\x2', '\x2', '\x91',
'\x8F', '\x3', '\x2', '\x2', '\x2', '\x91', '\x92', '\x3', '\x2', '\x2',
'\x2', '\x92', '\x95', '\x3', '\x2', '\x2', '\x2', '\x93', '\x91', '\x3',
'\x2', '\x2', '\x2', '\x94', '\x96', '\x5', ' ', '\x11', '\x2', '\x95',
'\x94', '\x3', '\x2', '\x2', '\x2', '\x95', '\x96', '\x3', '\x2', '\x2',
'\x2', '\x96', '\x97', '\x3', '\x2', '\x2', '\x2', '\x97', '\x99', '\a',
'\x1B', '\x2', '\x2', '\x98', '\x9A', '\x5', '\x30', '\x19', '\x2', '\x99',
'\x98', '\x3', '\x2', '\x2', '\x2', '\x99', '\x9A', '\x3', '\x2', '\x2',
'\x2', '\x9A', '\x1B', '\x3', '\x2', '\x2', '\x2', '\x9B', '\x9C', '\a',
'\x18', '\x2', '\x2', '\x9C', '\x9D', '\x5', '\x34', '\x1B', '\x2', '\x9D',
'\xA1', '\a', '$', '\x2', '\x2', '\x9E', '\xA0', '\x5', '\x10', '\t',
'\x2', '\x9F', '\x9E', '\x3', '\x2', '\x2', '\x2', '\xA0', '\xA3', '\x3',
'\x2', '\x2', '\x2', '\xA1', '\x9F', '\x3', '\x2', '\x2', '\x2', '\xA1',
'\xA2', '\x3', '\x2', '\x2', '\x2', '\xA2', '\x1D', '\x3', '\x2', '\x2',
'\x2', '\xA3', '\xA1', '\x3', '\x2', '\x2', '\x2', '\xA4', '\xA5', '\a',
'\x1A', '\x2', '\x2', '\xA5', '\xA6', '\x5', '\x34', '\x1B', '\x2', '\xA6',
'\xAA', '\a', '$', '\x2', '\x2', '\xA7', '\xA9', '\x5', '\x10', '\t',
'\x2', '\xA8', '\xA7', '\x3', '\x2', '\x2', '\x2', '\xA9', '\xAC', '\x3',
'\x2', '\x2', '\x2', '\xAA', '\xA8', '\x3', '\x2', '\x2', '\x2', '\xAA',
'\xAB', '\x3', '\x2', '\x2', '\x2', '\xAB', '\x1F', '\x3', '\x2', '\x2',
'\x2', '\xAC', '\xAA', '\x3', '\x2', '\x2', '\x2', '\xAD', '\xB1', '\a',
'\x19', '\x2', '\x2', '\xAE', '\xB0', '\x5', '\x10', '\t', '\x2', '\xAF',
'\xAE', '\x3', '\x2', '\x2', '\x2', '\xB0', '\xB3', '\x3', '\x2', '\x2',
'\x2', '\xB1', '\xAF', '\x3', '\x2', '\x2', '\x2', '\xB1', '\xB2', '\x3',
'\x2', '\x2', '\x2', '\xB2', '!', '\x3', '\x2', '\x2', '\x2', '\xB3',
'\xB1', '\x3', '\x2', '\x2', '\x2', '\xB4', '\xB5', '\a', '\x1C', '\x2',
'\x2', '\xB5', '\xB9', '\x5', '\x38', '\x1D', '\x2', '\xB6', '\xB8', '\a',
'-', '\x2', '\x2', '\xB7', '\xB6', '\x3', '\x2', '\x2', '\x2', '\xB8',
'\xBB', '\x3', '\x2', '\x2', '\x2', '\xB9', '\xB7', '\x3', '\x2', '\x2',
'\x2', '\xB9', '\xBA', '\x3', '\x2', '\x2', '\x2', '\xBA', '\xBC', '\x3',
'\x2', '\x2', '\x2', '\xBB', '\xB9', '\x3', '\x2', '\x2', '\x2', '\xBC',
'\xBD', '\x5', '\x34', '\x1B', '\x2', '\xBD', '\xBE', '\a', '$', '\x2',
'\x2', '\xBE', '\xC4', '\x3', '\x2', '\x2', '\x2', '\xBF', '\xC0', '\a',
'\x1C', '\x2', '\x2', '\xC0', '\xC1', '\x5', '\x34', '\x1B', '\x2', '\xC1',
'\xC2', '\a', '$', '\x2', '\x2', '\xC2', '\xC4', '\x3', '\x2', '\x2',
'\x2', '\xC3', '\xB4', '\x3', '\x2', '\x2', '\x2', '\xC3', '\xBF', '\x3',
'\x2', '\x2', '\x2', '\xC4', '#', '\x3', '\x2', '\x2', '\x2', '\xC5',
'\xC6', '\a', '\x1F', '\x2', '\x2', '\xC6', '\xC7', '\a', 'K', '\x2',
'\x2', '\xC7', '\xC8', '\a', 'J', '\x2', '\x2', '\xC8', '\xC9', '\a',
'M', '\x2', '\x2', '\xC9', '\xCE', '\a', 'L', '\x2', '\x2', '\xCA', '\xCB',
'\a', '\x1F', '\x2', '\x2', '\xCB', '\xCC', '\a', 'K', '\x2', '\x2', '\xCC',
'\xCE', '\a', 'L', '\x2', '\x2', '\xCD', '\xC5', '\x3', '\x2', '\x2',
'\x2', '\xCD', '\xCA', '\x3', '\x2', '\x2', '\x2', '\xCE', '\xD0', '\x3',
'\x2', '\x2', '\x2', '\xCF', '\xD1', '\x5', '\x30', '\x19', '\x2', '\xD0',
'\xCF', '\x3', '\x2', '\x2', '\x2', '\xD0', '\xD1', '\x3', '\x2', '\x2',
'\x2', '\xD1', '%', '\x3', '\x2', '\x2', '\x2', '\xD2', '\xD3', '\a',
'G', '\x2', '\x2', '\xD3', '\xD5', '\a', '\x42', '\x2', '\x2', '\xD4',
'\xD6', '\x5', '\x34', '\x1B', '\x2', '\xD5', '\xD4', '\x3', '\x2', '\x2',
'\x2', '\xD5', '\xD6', '\x3', '\x2', '\x2', '\x2', '\xD6', '\xDB', '\x3',
'\x2', '\x2', '\x2', '\xD7', '\xD8', '\a', '\x44', '\x2', '\x2', '\xD8',
'\xDA', '\x5', '\x34', '\x1B', '\x2', '\xD9', '\xD7', '\x3', '\x2', '\x2',
'\x2', '\xDA', '\xDD', '\x3', '\x2', '\x2', '\x2', '\xDB', '\xD9', '\x3',
'\x2', '\x2', '\x2', '\xDB', '\xDC', '\x3', '\x2', '\x2', '\x2', '\xDC',
'\xDE', '\x3', '\x2', '\x2', '\x2', '\xDD', '\xDB', '\x3', '\x2', '\x2',
'\x2', '\xDE', '\xDF', '\a', '\x43', '\x2', '\x2', '\xDF', '\'', '\x3',
'\x2', '\x2', '\x2', '\xE0', '\xE1', '\a', '\x1D', '\x2', '\x2', '\xE1',
'\xE6', '\x5', '\x34', '\x1B', '\x2', '\xE2', '\xE3', '\a', '\x44', '\x2',
'\x2', '\xE3', '\xE5', '\x5', '\x34', '\x1B', '\x2', '\xE4', '\xE2', '\x3',
'\x2', '\x2', '\x2', '\xE5', '\xE8', '\x3', '\x2', '\x2', '\x2', '\xE6',
'\xE4', '\x3', '\x2', '\x2', '\x2', '\xE6', '\xE7', '\x3', '\x2', '\x2',
'\x2', '\xE7', '\xE9', '\x3', '\x2', '\x2', '\x2', '\xE8', '\xE6', '\x3',
'\x2', '\x2', '\x2', '\xE9', '\xEA', '\a', '\x43', '\x2', '\x2', '\xEA',
'\xEB', '\a', '$', '\x2', '\x2', '\xEB', ')', '\x3', '\x2', '\x2', '\x2',
'\xEC', '\xED', '\a', 'I', '\x2', '\x2', '\xED', '+', '\x3', '\x2', '\x2',
'\x2', '\xEE', '\xEF', '\t', '\x2', '\x2', '\x2', '\xEF', '-', '\x3',
'\x2', '\x2', '\x2', '\xF0', '\xF2', '\x5', ',', '\x17', '\x2', '\xF1',
'\xF3', '\x5', '\x30', '\x19', '\x2', '\xF2', '\xF1', '\x3', '\x2', '\x2',
'\x2', '\xF2', '\xF3', '\x3', '\x2', '\x2', '\x2', '\xF3', '/', '\x3',
'\x2', '\x2', '\x2', '\xF4', '\xF6', '\x5', '\x32', '\x1A', '\x2', '\xF5',
'\xF4', '\x3', '\x2', '\x2', '\x2', '\xF6', '\xF7', '\x3', '\x2', '\x2',
'\x2', '\xF7', '\xF5', '\x3', '\x2', '\x2', '\x2', '\xF7', '\xF8', '\x3',
'\x2', '\x2', '\x2', '\xF8', '\x31', '\x3', '\x2', '\x2', '\x2', '\xF9',
'\xFA', '\a', ' ', '\x2', '\x2', '\xFA', '\x33', '\x3', '\x2', '\x2',
'\x2', '\xFB', '\xFC', '\b', '\x1B', '\x1', '\x2', '\xFC', '\xFD', '\a',
'\x42', '\x2', '\x2', '\xFD', '\xFE', '\x5', '\x34', '\x1B', '\x2', '\xFE',
'\xFF', '\a', '\x43', '\x2', '\x2', '\xFF', '\x10E', '\x3', '\x2', '\x2',
'\x2', '\x100', '\x101', '\a', '>', '\x2', '\x2', '\x101', '\x10E', '\x5',
'\x34', '\x1B', '\f', '\x102', '\x103', '\a', '\x37', '\x2', '\x2', '\x103',
'\x10E', '\x5', '\x34', '\x1B', '\v', '\x104', '\x105', '\x5', '\x38',
'\x1D', '\x2', '\x105', '\x106', '\t', '\x3', '\x2', '\x2', '\x106', '\x107',
'\x5', '\x34', '\x1B', '\x6', '\x107', '\x10E', '\x3', '\x2', '\x2', '\x2',
'\x108', '\x109', '\x5', '\x38', '\x1D', '\x2', '\x109', '\x10A', '\t',
'\x4', '\x2', '\x2', '\x10A', '\x10B', '\x5', '\x34', '\x1B', '\x5', '\x10B',
'\x10E', '\x3', '\x2', '\x2', '\x2', '\x10C', '\x10E', '\x5', '\x36',
'\x1C', '\x2', '\x10D', '\xFB', '\x3', '\x2', '\x2', '\x2', '\x10D', '\x100',
'\x3', '\x2', '\x2', '\x2', '\x10D', '\x102', '\x3', '\x2', '\x2', '\x2',
'\x10D', '\x104', '\x3', '\x2', '\x2', '\x2', '\x10D', '\x108', '\x3',
'\x2', '\x2', '\x2', '\x10D', '\x10C', '\x3', '\x2', '\x2', '\x2', '\x10E',
'\x120', '\x3', '\x2', '\x2', '\x2', '\x10F', '\x110', '\f', '\n', '\x2',
'\x2', '\x110', '\x111', '\t', '\x5', '\x2', '\x2', '\x111', '\x11F',
'\x5', '\x34', '\x1B', '\v', '\x112', '\x113', '\f', '\t', '\x2', '\x2',
'\x113', '\x114', '\t', '\x6', '\x2', '\x2', '\x114', '\x11F', '\x5',
'\x34', '\x1B', '\n', '\x115', '\x116', '\f', '\b', '\x2', '\x2', '\x116',
'\x117', '\t', '\a', '\x2', '\x2', '\x117', '\x11F', '\x5', '\x34', '\x1B',
'\t', '\x118', '\x119', '\f', '\a', '\x2', '\x2', '\x119', '\x11A', '\t',
'\b', '\x2', '\x2', '\x11A', '\x11F', '\x5', '\x34', '\x1B', '\b', '\x11B',
'\x11C', '\f', '\x4', '\x2', '\x2', '\x11C', '\x11D', '\t', '\t', '\x2',
'\x2', '\x11D', '\x11F', '\x5', '\x34', '\x1B', '\x5', '\x11E', '\x10F',
'\x3', '\x2', '\x2', '\x2', '\x11E', '\x112', '\x3', '\x2', '\x2', '\x2',
'\x11E', '\x115', '\x3', '\x2', '\x2', '\x2', '\x11E', '\x118', '\x3',
'\x2', '\x2', '\x2', '\x11E', '\x11B', '\x3', '\x2', '\x2', '\x2', '\x11F',
'\x122', '\x3', '\x2', '\x2', '\x2', '\x120', '\x11E', '\x3', '\x2', '\x2',
'\x2', '\x120', '\x121', '\x3', '\x2', '\x2', '\x2', '\x121', '\x35',
'\x3', '\x2', '\x2', '\x2', '\x122', '\x120', '\x3', '\x2', '\x2', '\x2',
'\x123', '\x12B', '\a', '\x46', '\x2', '\x2', '\x124', '\x12B', '\a',
'*', '\x2', '\x2', '\x125', '\x12B', '\a', '+', '\x2', '\x2', '\x126',
'\x12B', '\x5', '\x38', '\x1D', '\x2', '\x127', '\x12B', '\a', '%', '\x2',
'\x2', '\x128', '\x12B', '\x5', '&', '\x14', '\x2', '\x129', '\x12B',
'\a', ',', '\x2', '\x2', '\x12A', '\x123', '\x3', '\x2', '\x2', '\x2',
'\x12A', '\x124', '\x3', '\x2', '\x2', '\x2', '\x12A', '\x125', '\x3',
'\x2', '\x2', '\x2', '\x12A', '\x126', '\x3', '\x2', '\x2', '\x2', '\x12A',
'\x127', '\x3', '\x2', '\x2', '\x2', '\x12A', '\x128', '\x3', '\x2', '\x2',
'\x2', '\x12A', '\x129', '\x3', '\x2', '\x2', '\x2', '\x12B', '\x37',
'\x3', '\x2', '\x2', '\x2', '\x12C', '\x12D', '\a', '\x45', '\x2', '\x2',
'\x12D', '\x39', '\x3', '\x2', '\x2', '\x2', ' ', '=', '\x46', 'L', 'N',
'\x62', 'n', 's', 'x', '{', '\x81', '\x85', '\x91', '\x95', '\x99', '\xA1',
'\xAA', '\xB1', '\xB9', '\xC3', '\xCD', '\xD0', '\xD5', '\xDB', '\xE6',
'\xF2', '\xF7', '\x10D', '\x11E', '\x120', '\x12A',
};
public static readonly ATN _ATN =
new ATNDeserializer().Deserialize(_serializedATN);
}