org.eclipse.steady.python.antlr.python335.Python335Parser Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of lang-python Show documentation
Show all versions of lang-python Show documentation
Core classes for Python analysis
// Generated from org/eclipse/steady/python/antlr/python335/Python335.g4 by ANTLR 4.9.2
package org.eclipse.steady.python.antlr.python335;
import org.antlr.v4.runtime.atn.*;
import org.antlr.v4.runtime.dfa.DFA;
import org.antlr.v4.runtime.*;
import org.antlr.v4.runtime.misc.*;
import org.antlr.v4.runtime.tree.*;
import java.util.List;
import java.util.Iterator;
import java.util.ArrayList;
@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"})
public class Python335Parser extends Parser {
static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); }
protected static final DFA[] _decisionToDFA;
protected static final PredictionContextCache _sharedContextCache =
new PredictionContextCache();
public static final int
DEF=1, RETURN=2, RAISE=3, FROM=4, IMPORT=5, AS=6, GLOBAL=7, NONLOCAL=8,
ASSERT=9, IF=10, ELIF=11, ELSE=12, WHILE=13, FOR=14, IN=15, TRY=16, FINALLY=17,
WITH=18, EXCEPT=19, LAMBDA=20, OR=21, AND=22, NOT=23, IS=24, NONE=25,
TRUE=26, FALSE=27, CLASS=28, YIELD=29, DEL=30, PASS=31, CONTINUE=32, BREAK=33,
NEWLINE=34, NAME=35, STRING_LITERAL=36, BYTES_LITERAL=37, DECIMAL_INTEGER=38,
OCT_INTEGER=39, HEX_INTEGER=40, BIN_INTEGER=41, FLOAT_NUMBER=42, IMAG_NUMBER=43,
DOT=44, ELLIPSIS=45, STAR=46, OPEN_PAREN=47, CLOSE_PAREN=48, COMMA=49,
COLON=50, SEMI_COLON=51, POWER=52, ASSIGN=53, OPEN_BRACK=54, CLOSE_BRACK=55,
OR_OP=56, XOR=57, AND_OP=58, LEFT_SHIFT=59, RIGHT_SHIFT=60, ADD=61, MINUS=62,
DIV=63, MOD=64, IDIV=65, NOT_OP=66, OPEN_BRACE=67, CLOSE_BRACE=68, LESS_THAN=69,
GREATER_THAN=70, EQUALS=71, GT_EQ=72, LT_EQ=73, NOT_EQ_1=74, NOT_EQ_2=75,
AT=76, ARROW=77, ADD_ASSIGN=78, SUB_ASSIGN=79, MULT_ASSIGN=80, AT_ASSIGN=81,
DIV_ASSIGN=82, MOD_ASSIGN=83, AND_ASSIGN=84, OR_ASSIGN=85, XOR_ASSIGN=86,
LEFT_SHIFT_ASSIGN=87, RIGHT_SHIFT_ASSIGN=88, POWER_ASSIGN=89, IDIV_ASSIGN=90,
SKIP_=91, UNKNOWN_CHAR=92, INDENT=93, DEDENT=94;
public static final int
RULE_single_input = 0, RULE_file_input = 1, RULE_eval_input = 2, RULE_decorator = 3,
RULE_decorators = 4, RULE_decorated = 5, RULE_funcdef = 6, RULE_parameters = 7,
RULE_typedargslist = 8, RULE_tfpdef = 9, RULE_varargslist = 10, RULE_vfpdef = 11,
RULE_stmt = 12, RULE_simple_stmt = 13, RULE_small_stmt = 14, RULE_expr_stmt = 15,
RULE_testlist_star_expr = 16, RULE_augassign = 17, RULE_del_stmt = 18,
RULE_pass_stmt = 19, RULE_flow_stmt = 20, RULE_break_stmt = 21, RULE_continue_stmt = 22,
RULE_return_stmt = 23, RULE_yield_stmt = 24, RULE_raise_stmt = 25, RULE_import_stmt = 26,
RULE_import_name = 27, RULE_import_from = 28, RULE_import_as_name = 29,
RULE_dotted_as_name = 30, RULE_import_as_names = 31, RULE_dotted_as_names = 32,
RULE_dotted_name = 33, RULE_global_stmt = 34, RULE_nonlocal_stmt = 35,
RULE_assert_stmt = 36, RULE_compound_stmt = 37, RULE_if_stmt = 38, RULE_while_stmt = 39,
RULE_for_stmt = 40, RULE_try_stmt = 41, RULE_with_stmt = 42, RULE_with_item = 43,
RULE_except_clause = 44, RULE_suite = 45, RULE_test = 46, RULE_test_nocond = 47,
RULE_lambdef = 48, RULE_lambdef_nocond = 49, RULE_or_test = 50, RULE_and_test = 51,
RULE_not_test = 52, RULE_comparison = 53, RULE_comp_op = 54, RULE_star_expr = 55,
RULE_expr = 56, RULE_xor_expr = 57, RULE_and_expr = 58, RULE_shift_expr = 59,
RULE_arith_expr = 60, RULE_term = 61, RULE_factor = 62, RULE_power = 63,
RULE_atom = 64, RULE_testlist_comp = 65, RULE_trailer = 66, RULE_subscriptlist = 67,
RULE_subscript = 68, RULE_sliceop = 69, RULE_exprlist = 70, RULE_testlist = 71,
RULE_dictorsetmaker = 72, RULE_classdef = 73, RULE_arglist = 74, RULE_argument = 75,
RULE_comp_iter = 76, RULE_comp_for = 77, RULE_comp_if = 78, RULE_yield_expr = 79,
RULE_yield_arg = 80, RULE_str = 81, RULE_number = 82, RULE_integer = 83;
private static String[] makeRuleNames() {
return new String[] {
"single_input", "file_input", "eval_input", "decorator", "decorators",
"decorated", "funcdef", "parameters", "typedargslist", "tfpdef", "varargslist",
"vfpdef", "stmt", "simple_stmt", "small_stmt", "expr_stmt", "testlist_star_expr",
"augassign", "del_stmt", "pass_stmt", "flow_stmt", "break_stmt", "continue_stmt",
"return_stmt", "yield_stmt", "raise_stmt", "import_stmt", "import_name",
"import_from", "import_as_name", "dotted_as_name", "import_as_names",
"dotted_as_names", "dotted_name", "global_stmt", "nonlocal_stmt", "assert_stmt",
"compound_stmt", "if_stmt", "while_stmt", "for_stmt", "try_stmt", "with_stmt",
"with_item", "except_clause", "suite", "test", "test_nocond", "lambdef",
"lambdef_nocond", "or_test", "and_test", "not_test", "comparison", "comp_op",
"star_expr", "expr", "xor_expr", "and_expr", "shift_expr", "arith_expr",
"term", "factor", "power", "atom", "testlist_comp", "trailer", "subscriptlist",
"subscript", "sliceop", "exprlist", "testlist", "dictorsetmaker", "classdef",
"arglist", "argument", "comp_iter", "comp_for", "comp_if", "yield_expr",
"yield_arg", "str", "number", "integer"
};
}
public static final String[] ruleNames = makeRuleNames();
private static String[] makeLiteralNames() {
return new String[] {
null, "'def'", "'return'", "'raise'", "'from'", "'import'", "'as'", "'global'",
"'nonlocal'", "'assert'", "'if'", "'elif'", "'else'", "'while'", "'for'",
"'in'", "'try'", "'finally'", "'with'", "'except'", "'lambda'", "'or'",
"'and'", "'not'", "'is'", "'None'", "'True'", "'False'", "'class'", "'yield'",
"'del'", "'pass'", "'continue'", "'break'", null, null, null, null, null,
null, null, null, null, null, "'.'", "'...'", "'*'", "'('", "')'", "','",
"':'", "';'", "'**'", "'='", "'['", "']'", "'|'", "'^'", "'&'", "'<<'",
"'>>'", "'+'", "'-'", "'/'", "'%'", "'//'", "'~'", "'{'", "'}'", "'<'",
"'>'", "'=='", "'>='", "'<='", "'<>'", "'!='", "'@'", "'->'", "'+='",
"'-='", "'*='", "'@='", "'/='", "'%='", "'&='", "'|='", "'^='", "'<<='",
"'>>='", "'**='", "'//='"
};
}
private static final String[] _LITERAL_NAMES = makeLiteralNames();
private static String[] makeSymbolicNames() {
return new String[] {
null, "DEF", "RETURN", "RAISE", "FROM", "IMPORT", "AS", "GLOBAL", "NONLOCAL",
"ASSERT", "IF", "ELIF", "ELSE", "WHILE", "FOR", "IN", "TRY", "FINALLY",
"WITH", "EXCEPT", "LAMBDA", "OR", "AND", "NOT", "IS", "NONE", "TRUE",
"FALSE", "CLASS", "YIELD", "DEL", "PASS", "CONTINUE", "BREAK", "NEWLINE",
"NAME", "STRING_LITERAL", "BYTES_LITERAL", "DECIMAL_INTEGER", "OCT_INTEGER",
"HEX_INTEGER", "BIN_INTEGER", "FLOAT_NUMBER", "IMAG_NUMBER", "DOT", "ELLIPSIS",
"STAR", "OPEN_PAREN", "CLOSE_PAREN", "COMMA", "COLON", "SEMI_COLON",
"POWER", "ASSIGN", "OPEN_BRACK", "CLOSE_BRACK", "OR_OP", "XOR", "AND_OP",
"LEFT_SHIFT", "RIGHT_SHIFT", "ADD", "MINUS", "DIV", "MOD", "IDIV", "NOT_OP",
"OPEN_BRACE", "CLOSE_BRACE", "LESS_THAN", "GREATER_THAN", "EQUALS", "GT_EQ",
"LT_EQ", "NOT_EQ_1", "NOT_EQ_2", "AT", "ARROW", "ADD_ASSIGN", "SUB_ASSIGN",
"MULT_ASSIGN", "AT_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "AND_ASSIGN",
"OR_ASSIGN", "XOR_ASSIGN", "LEFT_SHIFT_ASSIGN", "RIGHT_SHIFT_ASSIGN",
"POWER_ASSIGN", "IDIV_ASSIGN", "SKIP_", "UNKNOWN_CHAR", "INDENT", "DEDENT"
};
}
private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames();
public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);
/**
* @deprecated Use {@link #VOCABULARY} instead.
*/
@Deprecated
public static final String[] tokenNames;
static {
tokenNames = new String[_SYMBOLIC_NAMES.length];
for (int i = 0; i < tokenNames.length; i++) {
tokenNames[i] = VOCABULARY.getLiteralName(i);
if (tokenNames[i] == null) {
tokenNames[i] = VOCABULARY.getSymbolicName(i);
}
if (tokenNames[i] == null) {
tokenNames[i] = "";
}
}
}
@Override
@Deprecated
public String[] getTokenNames() {
return tokenNames;
}
@Override
public Vocabulary getVocabulary() {
return VOCABULARY;
}
@Override
public String getGrammarFileName() { return "Python335.g4"; }
@Override
public String[] getRuleNames() { return ruleNames; }
@Override
public String getSerializedATN() { return _serializedATN; }
@Override
public ATN getATN() { return _ATN; }
public Python335Parser(TokenStream input) {
super(input);
_interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
}
public static class Single_inputContext extends ParserRuleContext {
public TerminalNode NEWLINE() { return getToken(Python335Parser.NEWLINE, 0); }
public Simple_stmtContext simple_stmt() {
return getRuleContext(Simple_stmtContext.class,0);
}
public Compound_stmtContext compound_stmt() {
return getRuleContext(Compound_stmtContext.class,0);
}
public Single_inputContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_single_input; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterSingle_input(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitSingle_input(this);
}
}
public final Single_inputContext single_input() throws RecognitionException {
Single_inputContext _localctx = new Single_inputContext(_ctx, getState());
enterRule(_localctx, 0, RULE_single_input);
try {
setState(173);
_errHandler.sync(this);
switch (_input.LA(1)) {
case NEWLINE:
enterOuterAlt(_localctx, 1);
{
setState(168);
match(NEWLINE);
}
break;
case RETURN:
case RAISE:
case FROM:
case IMPORT:
case GLOBAL:
case NONLOCAL:
case ASSERT:
case LAMBDA:
case NOT:
case NONE:
case TRUE:
case FALSE:
case YIELD:
case DEL:
case PASS:
case CONTINUE:
case BREAK:
case NAME:
case STRING_LITERAL:
case BYTES_LITERAL:
case DECIMAL_INTEGER:
case OCT_INTEGER:
case HEX_INTEGER:
case BIN_INTEGER:
case FLOAT_NUMBER:
case IMAG_NUMBER:
case ELLIPSIS:
case STAR:
case OPEN_PAREN:
case OPEN_BRACK:
case ADD:
case MINUS:
case NOT_OP:
case OPEN_BRACE:
enterOuterAlt(_localctx, 2);
{
setState(169);
simple_stmt();
}
break;
case DEF:
case IF:
case WHILE:
case FOR:
case TRY:
case WITH:
case CLASS:
case AT:
enterOuterAlt(_localctx, 3);
{
setState(170);
compound_stmt();
setState(171);
match(NEWLINE);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class File_inputContext extends ParserRuleContext {
public TerminalNode EOF() { return getToken(Python335Parser.EOF, 0); }
public List NEWLINE() { return getTokens(Python335Parser.NEWLINE); }
public TerminalNode NEWLINE(int i) {
return getToken(Python335Parser.NEWLINE, i);
}
public List stmt() {
return getRuleContexts(StmtContext.class);
}
public StmtContext stmt(int i) {
return getRuleContext(StmtContext.class,i);
}
public File_inputContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_file_input; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterFile_input(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitFile_input(this);
}
}
public final File_inputContext file_input() throws RecognitionException {
File_inputContext _localctx = new File_inputContext(_ctx, getState());
enterRule(_localctx, 2, RULE_file_input);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(179);
_errHandler.sync(this);
_la = _input.LA(1);
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << DEF) | (1L << RETURN) | (1L << RAISE) | (1L << FROM) | (1L << IMPORT) | (1L << GLOBAL) | (1L << NONLOCAL) | (1L << ASSERT) | (1L << IF) | (1L << WHILE) | (1L << FOR) | (1L << TRY) | (1L << WITH) | (1L << LAMBDA) | (1L << NOT) | (1L << NONE) | (1L << TRUE) | (1L << FALSE) | (1L << CLASS) | (1L << YIELD) | (1L << DEL) | (1L << PASS) | (1L << CONTINUE) | (1L << BREAK) | (1L << NEWLINE) | (1L << NAME) | (1L << STRING_LITERAL) | (1L << BYTES_LITERAL) | (1L << DECIMAL_INTEGER) | (1L << OCT_INTEGER) | (1L << HEX_INTEGER) | (1L << BIN_INTEGER) | (1L << FLOAT_NUMBER) | (1L << IMAG_NUMBER) | (1L << ELLIPSIS) | (1L << STAR) | (1L << OPEN_PAREN) | (1L << OPEN_BRACK) | (1L << ADD) | (1L << MINUS))) != 0) || ((((_la - 66)) & ~0x3f) == 0 && ((1L << (_la - 66)) & ((1L << (NOT_OP - 66)) | (1L << (OPEN_BRACE - 66)) | (1L << (AT - 66)))) != 0)) {
{
setState(177);
_errHandler.sync(this);
switch (_input.LA(1)) {
case NEWLINE:
{
setState(175);
match(NEWLINE);
}
break;
case DEF:
case RETURN:
case RAISE:
case FROM:
case IMPORT:
case GLOBAL:
case NONLOCAL:
case ASSERT:
case IF:
case WHILE:
case FOR:
case TRY:
case WITH:
case LAMBDA:
case NOT:
case NONE:
case TRUE:
case FALSE:
case CLASS:
case YIELD:
case DEL:
case PASS:
case CONTINUE:
case BREAK:
case NAME:
case STRING_LITERAL:
case BYTES_LITERAL:
case DECIMAL_INTEGER:
case OCT_INTEGER:
case HEX_INTEGER:
case BIN_INTEGER:
case FLOAT_NUMBER:
case IMAG_NUMBER:
case ELLIPSIS:
case STAR:
case OPEN_PAREN:
case OPEN_BRACK:
case ADD:
case MINUS:
case NOT_OP:
case OPEN_BRACE:
case AT:
{
setState(176);
stmt();
}
break;
default:
throw new NoViableAltException(this);
}
}
setState(181);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(182);
match(EOF);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Eval_inputContext extends ParserRuleContext {
public TestlistContext testlist() {
return getRuleContext(TestlistContext.class,0);
}
public TerminalNode EOF() { return getToken(Python335Parser.EOF, 0); }
public List NEWLINE() { return getTokens(Python335Parser.NEWLINE); }
public TerminalNode NEWLINE(int i) {
return getToken(Python335Parser.NEWLINE, i);
}
public Eval_inputContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_eval_input; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterEval_input(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitEval_input(this);
}
}
public final Eval_inputContext eval_input() throws RecognitionException {
Eval_inputContext _localctx = new Eval_inputContext(_ctx, getState());
enterRule(_localctx, 4, RULE_eval_input);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(184);
testlist();
setState(188);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==NEWLINE) {
{
{
setState(185);
match(NEWLINE);
}
}
setState(190);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(191);
match(EOF);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DecoratorContext extends ParserRuleContext {
public TerminalNode AT() { return getToken(Python335Parser.AT, 0); }
public Dotted_nameContext dotted_name() {
return getRuleContext(Dotted_nameContext.class,0);
}
public TerminalNode NEWLINE() { return getToken(Python335Parser.NEWLINE, 0); }
public TerminalNode OPEN_PAREN() { return getToken(Python335Parser.OPEN_PAREN, 0); }
public TerminalNode CLOSE_PAREN() { return getToken(Python335Parser.CLOSE_PAREN, 0); }
public ArglistContext arglist() {
return getRuleContext(ArglistContext.class,0);
}
public DecoratorContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_decorator; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterDecorator(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitDecorator(this);
}
}
public final DecoratorContext decorator() throws RecognitionException {
DecoratorContext _localctx = new DecoratorContext(_ctx, getState());
enterRule(_localctx, 6, RULE_decorator);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(193);
match(AT);
setState(194);
dotted_name();
setState(200);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==OPEN_PAREN) {
{
setState(195);
match(OPEN_PAREN);
setState(197);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 20)) & ~0x3f) == 0 && ((1L << (_la - 20)) & ((1L << (LAMBDA - 20)) | (1L << (NOT - 20)) | (1L << (NONE - 20)) | (1L << (TRUE - 20)) | (1L << (FALSE - 20)) | (1L << (NAME - 20)) | (1L << (STRING_LITERAL - 20)) | (1L << (BYTES_LITERAL - 20)) | (1L << (DECIMAL_INTEGER - 20)) | (1L << (OCT_INTEGER - 20)) | (1L << (HEX_INTEGER - 20)) | (1L << (BIN_INTEGER - 20)) | (1L << (FLOAT_NUMBER - 20)) | (1L << (IMAG_NUMBER - 20)) | (1L << (ELLIPSIS - 20)) | (1L << (STAR - 20)) | (1L << (OPEN_PAREN - 20)) | (1L << (POWER - 20)) | (1L << (OPEN_BRACK - 20)) | (1L << (ADD - 20)) | (1L << (MINUS - 20)) | (1L << (NOT_OP - 20)) | (1L << (OPEN_BRACE - 20)))) != 0)) {
{
setState(196);
arglist();
}
}
setState(199);
match(CLOSE_PAREN);
}
}
setState(202);
match(NEWLINE);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DecoratorsContext extends ParserRuleContext {
public List decorator() {
return getRuleContexts(DecoratorContext.class);
}
public DecoratorContext decorator(int i) {
return getRuleContext(DecoratorContext.class,i);
}
public DecoratorsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_decorators; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterDecorators(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitDecorators(this);
}
}
public final DecoratorsContext decorators() throws RecognitionException {
DecoratorsContext _localctx = new DecoratorsContext(_ctx, getState());
enterRule(_localctx, 8, RULE_decorators);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(205);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(204);
decorator();
}
}
setState(207);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==AT );
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DecoratedContext extends ParserRuleContext {
public DecoratorsContext decorators() {
return getRuleContext(DecoratorsContext.class,0);
}
public ClassdefContext classdef() {
return getRuleContext(ClassdefContext.class,0);
}
public FuncdefContext funcdef() {
return getRuleContext(FuncdefContext.class,0);
}
public DecoratedContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_decorated; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterDecorated(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitDecorated(this);
}
}
public final DecoratedContext decorated() throws RecognitionException {
DecoratedContext _localctx = new DecoratedContext(_ctx, getState());
enterRule(_localctx, 10, RULE_decorated);
try {
enterOuterAlt(_localctx, 1);
{
setState(209);
decorators();
setState(212);
_errHandler.sync(this);
switch (_input.LA(1)) {
case CLASS:
{
setState(210);
classdef();
}
break;
case DEF:
{
setState(211);
funcdef();
}
break;
default:
throw new NoViableAltException(this);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class FuncdefContext extends ParserRuleContext {
public TerminalNode DEF() { return getToken(Python335Parser.DEF, 0); }
public TerminalNode NAME() { return getToken(Python335Parser.NAME, 0); }
public ParametersContext parameters() {
return getRuleContext(ParametersContext.class,0);
}
public TerminalNode COLON() { return getToken(Python335Parser.COLON, 0); }
public SuiteContext suite() {
return getRuleContext(SuiteContext.class,0);
}
public TerminalNode ARROW() { return getToken(Python335Parser.ARROW, 0); }
public TestContext test() {
return getRuleContext(TestContext.class,0);
}
public FuncdefContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_funcdef; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterFuncdef(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitFuncdef(this);
}
}
public final FuncdefContext funcdef() throws RecognitionException {
FuncdefContext _localctx = new FuncdefContext(_ctx, getState());
enterRule(_localctx, 12, RULE_funcdef);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(214);
match(DEF);
setState(215);
match(NAME);
setState(216);
parameters();
setState(219);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ARROW) {
{
setState(217);
match(ARROW);
setState(218);
test();
}
}
setState(221);
match(COLON);
setState(222);
suite();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ParametersContext extends ParserRuleContext {
public TerminalNode OPEN_PAREN() { return getToken(Python335Parser.OPEN_PAREN, 0); }
public TerminalNode CLOSE_PAREN() { return getToken(Python335Parser.CLOSE_PAREN, 0); }
public TypedargslistContext typedargslist() {
return getRuleContext(TypedargslistContext.class,0);
}
public ParametersContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_parameters; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterParameters(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitParameters(this);
}
}
public final ParametersContext parameters() throws RecognitionException {
ParametersContext _localctx = new ParametersContext(_ctx, getState());
enterRule(_localctx, 14, RULE_parameters);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(224);
match(OPEN_PAREN);
setState(226);
_errHandler.sync(this);
_la = _input.LA(1);
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NAME) | (1L << STAR) | (1L << POWER))) != 0)) {
{
setState(225);
typedargslist();
}
}
setState(228);
match(CLOSE_PAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class TypedargslistContext extends ParserRuleContext {
public List tfpdef() {
return getRuleContexts(TfpdefContext.class);
}
public TfpdefContext tfpdef(int i) {
return getRuleContext(TfpdefContext.class,i);
}
public List ASSIGN() { return getTokens(Python335Parser.ASSIGN); }
public TerminalNode ASSIGN(int i) {
return getToken(Python335Parser.ASSIGN, i);
}
public List test() {
return getRuleContexts(TestContext.class);
}
public TestContext test(int i) {
return getRuleContext(TestContext.class,i);
}
public List COMMA() { return getTokens(Python335Parser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(Python335Parser.COMMA, i);
}
public TerminalNode STAR() { return getToken(Python335Parser.STAR, 0); }
public TerminalNode POWER() { return getToken(Python335Parser.POWER, 0); }
public TypedargslistContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_typedargslist; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterTypedargslist(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitTypedargslist(this);
}
}
public final TypedargslistContext typedargslist() throws RecognitionException {
TypedargslistContext _localctx = new TypedargslistContext(_ctx, getState());
enterRule(_localctx, 16, RULE_typedargslist);
int _la;
try {
int _alt;
setState(295);
_errHandler.sync(this);
switch (_input.LA(1)) {
case NAME:
enterOuterAlt(_localctx, 1);
{
setState(230);
tfpdef();
setState(233);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ASSIGN) {
{
setState(231);
match(ASSIGN);
setState(232);
test();
}
}
setState(243);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,12,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(235);
match(COMMA);
setState(236);
tfpdef();
setState(239);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ASSIGN) {
{
setState(237);
match(ASSIGN);
setState(238);
test();
}
}
}
}
}
setState(245);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,12,_ctx);
}
setState(271);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(246);
match(COMMA);
setState(269);
_errHandler.sync(this);
switch (_input.LA(1)) {
case STAR:
{
setState(247);
match(STAR);
setState(249);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NAME) {
{
setState(248);
tfpdef();
}
}
setState(259);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,15,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(251);
match(COMMA);
setState(252);
tfpdef();
setState(255);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ASSIGN) {
{
setState(253);
match(ASSIGN);
setState(254);
test();
}
}
}
}
}
setState(261);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,15,_ctx);
}
setState(265);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(262);
match(COMMA);
setState(263);
match(POWER);
setState(264);
tfpdef();
}
}
}
break;
case POWER:
{
setState(267);
match(POWER);
setState(268);
tfpdef();
}
break;
case CLOSE_PAREN:
break;
default:
break;
}
}
}
}
break;
case STAR:
enterOuterAlt(_localctx, 2);
{
setState(273);
match(STAR);
setState(275);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NAME) {
{
setState(274);
tfpdef();
}
}
setState(285);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,21,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(277);
match(COMMA);
setState(278);
tfpdef();
setState(281);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ASSIGN) {
{
setState(279);
match(ASSIGN);
setState(280);
test();
}
}
}
}
}
setState(287);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,21,_ctx);
}
setState(291);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(288);
match(COMMA);
setState(289);
match(POWER);
setState(290);
tfpdef();
}
}
}
break;
case POWER:
enterOuterAlt(_localctx, 3);
{
setState(293);
match(POWER);
setState(294);
tfpdef();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class TfpdefContext extends ParserRuleContext {
public TerminalNode NAME() { return getToken(Python335Parser.NAME, 0); }
public TerminalNode COLON() { return getToken(Python335Parser.COLON, 0); }
public TestContext test() {
return getRuleContext(TestContext.class,0);
}
public TfpdefContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_tfpdef; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterTfpdef(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitTfpdef(this);
}
}
public final TfpdefContext tfpdef() throws RecognitionException {
TfpdefContext _localctx = new TfpdefContext(_ctx, getState());
enterRule(_localctx, 18, RULE_tfpdef);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(297);
match(NAME);
setState(300);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COLON) {
{
setState(298);
match(COLON);
setState(299);
test();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class VarargslistContext extends ParserRuleContext {
public List vfpdef() {
return getRuleContexts(VfpdefContext.class);
}
public VfpdefContext vfpdef(int i) {
return getRuleContext(VfpdefContext.class,i);
}
public List ASSIGN() { return getTokens(Python335Parser.ASSIGN); }
public TerminalNode ASSIGN(int i) {
return getToken(Python335Parser.ASSIGN, i);
}
public List test() {
return getRuleContexts(TestContext.class);
}
public TestContext test(int i) {
return getRuleContext(TestContext.class,i);
}
public List COMMA() { return getTokens(Python335Parser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(Python335Parser.COMMA, i);
}
public TerminalNode STAR() { return getToken(Python335Parser.STAR, 0); }
public TerminalNode POWER() { return getToken(Python335Parser.POWER, 0); }
public VarargslistContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_varargslist; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterVarargslist(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitVarargslist(this);
}
}
public final VarargslistContext varargslist() throws RecognitionException {
VarargslistContext _localctx = new VarargslistContext(_ctx, getState());
enterRule(_localctx, 20, RULE_varargslist);
int _la;
try {
int _alt;
setState(367);
_errHandler.sync(this);
switch (_input.LA(1)) {
case NAME:
enterOuterAlt(_localctx, 1);
{
setState(302);
vfpdef();
setState(305);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ASSIGN) {
{
setState(303);
match(ASSIGN);
setState(304);
test();
}
}
setState(315);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,27,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(307);
match(COMMA);
setState(308);
vfpdef();
setState(311);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ASSIGN) {
{
setState(309);
match(ASSIGN);
setState(310);
test();
}
}
}
}
}
setState(317);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,27,_ctx);
}
setState(343);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(318);
match(COMMA);
setState(341);
_errHandler.sync(this);
switch (_input.LA(1)) {
case STAR:
{
setState(319);
match(STAR);
setState(321);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NAME) {
{
setState(320);
vfpdef();
}
}
setState(331);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,30,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(323);
match(COMMA);
setState(324);
vfpdef();
setState(327);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ASSIGN) {
{
setState(325);
match(ASSIGN);
setState(326);
test();
}
}
}
}
}
setState(333);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,30,_ctx);
}
setState(337);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(334);
match(COMMA);
setState(335);
match(POWER);
setState(336);
vfpdef();
}
}
}
break;
case POWER:
{
setState(339);
match(POWER);
setState(340);
vfpdef();
}
break;
case COLON:
break;
default:
break;
}
}
}
}
break;
case STAR:
enterOuterAlt(_localctx, 2);
{
setState(345);
match(STAR);
setState(347);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NAME) {
{
setState(346);
vfpdef();
}
}
setState(357);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,36,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(349);
match(COMMA);
setState(350);
vfpdef();
setState(353);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ASSIGN) {
{
setState(351);
match(ASSIGN);
setState(352);
test();
}
}
}
}
}
setState(359);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,36,_ctx);
}
setState(363);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(360);
match(COMMA);
setState(361);
match(POWER);
setState(362);
vfpdef();
}
}
}
break;
case POWER:
enterOuterAlt(_localctx, 3);
{
setState(365);
match(POWER);
setState(366);
vfpdef();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class VfpdefContext extends ParserRuleContext {
public TerminalNode NAME() { return getToken(Python335Parser.NAME, 0); }
public VfpdefContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_vfpdef; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterVfpdef(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitVfpdef(this);
}
}
public final VfpdefContext vfpdef() throws RecognitionException {
VfpdefContext _localctx = new VfpdefContext(_ctx, getState());
enterRule(_localctx, 22, RULE_vfpdef);
try {
enterOuterAlt(_localctx, 1);
{
setState(369);
match(NAME);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class StmtContext extends ParserRuleContext {
public Simple_stmtContext simple_stmt() {
return getRuleContext(Simple_stmtContext.class,0);
}
public Compound_stmtContext compound_stmt() {
return getRuleContext(Compound_stmtContext.class,0);
}
public StmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterStmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitStmt(this);
}
}
public final StmtContext stmt() throws RecognitionException {
StmtContext _localctx = new StmtContext(_ctx, getState());
enterRule(_localctx, 24, RULE_stmt);
try {
setState(373);
_errHandler.sync(this);
switch (_input.LA(1)) {
case RETURN:
case RAISE:
case FROM:
case IMPORT:
case GLOBAL:
case NONLOCAL:
case ASSERT:
case LAMBDA:
case NOT:
case NONE:
case TRUE:
case FALSE:
case YIELD:
case DEL:
case PASS:
case CONTINUE:
case BREAK:
case NAME:
case STRING_LITERAL:
case BYTES_LITERAL:
case DECIMAL_INTEGER:
case OCT_INTEGER:
case HEX_INTEGER:
case BIN_INTEGER:
case FLOAT_NUMBER:
case IMAG_NUMBER:
case ELLIPSIS:
case STAR:
case OPEN_PAREN:
case OPEN_BRACK:
case ADD:
case MINUS:
case NOT_OP:
case OPEN_BRACE:
enterOuterAlt(_localctx, 1);
{
setState(371);
simple_stmt();
}
break;
case DEF:
case IF:
case WHILE:
case FOR:
case TRY:
case WITH:
case CLASS:
case AT:
enterOuterAlt(_localctx, 2);
{
setState(372);
compound_stmt();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Simple_stmtContext extends ParserRuleContext {
public List small_stmt() {
return getRuleContexts(Small_stmtContext.class);
}
public Small_stmtContext small_stmt(int i) {
return getRuleContext(Small_stmtContext.class,i);
}
public TerminalNode NEWLINE() { return getToken(Python335Parser.NEWLINE, 0); }
public List SEMI_COLON() { return getTokens(Python335Parser.SEMI_COLON); }
public TerminalNode SEMI_COLON(int i) {
return getToken(Python335Parser.SEMI_COLON, i);
}
public Simple_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_simple_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterSimple_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitSimple_stmt(this);
}
}
public final Simple_stmtContext simple_stmt() throws RecognitionException {
Simple_stmtContext _localctx = new Simple_stmtContext(_ctx, getState());
enterRule(_localctx, 26, RULE_simple_stmt);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(375);
small_stmt();
setState(380);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,40,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(376);
match(SEMI_COLON);
setState(377);
small_stmt();
}
}
}
setState(382);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,40,_ctx);
}
setState(384);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SEMI_COLON) {
{
setState(383);
match(SEMI_COLON);
}
}
setState(386);
match(NEWLINE);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Small_stmtContext extends ParserRuleContext {
public Expr_stmtContext expr_stmt() {
return getRuleContext(Expr_stmtContext.class,0);
}
public Del_stmtContext del_stmt() {
return getRuleContext(Del_stmtContext.class,0);
}
public Pass_stmtContext pass_stmt() {
return getRuleContext(Pass_stmtContext.class,0);
}
public Flow_stmtContext flow_stmt() {
return getRuleContext(Flow_stmtContext.class,0);
}
public Import_stmtContext import_stmt() {
return getRuleContext(Import_stmtContext.class,0);
}
public Global_stmtContext global_stmt() {
return getRuleContext(Global_stmtContext.class,0);
}
public Nonlocal_stmtContext nonlocal_stmt() {
return getRuleContext(Nonlocal_stmtContext.class,0);
}
public Assert_stmtContext assert_stmt() {
return getRuleContext(Assert_stmtContext.class,0);
}
public Small_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_small_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterSmall_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitSmall_stmt(this);
}
}
public final Small_stmtContext small_stmt() throws RecognitionException {
Small_stmtContext _localctx = new Small_stmtContext(_ctx, getState());
enterRule(_localctx, 28, RULE_small_stmt);
try {
setState(396);
_errHandler.sync(this);
switch (_input.LA(1)) {
case LAMBDA:
case NOT:
case NONE:
case TRUE:
case FALSE:
case NAME:
case STRING_LITERAL:
case BYTES_LITERAL:
case DECIMAL_INTEGER:
case OCT_INTEGER:
case HEX_INTEGER:
case BIN_INTEGER:
case FLOAT_NUMBER:
case IMAG_NUMBER:
case ELLIPSIS:
case STAR:
case OPEN_PAREN:
case OPEN_BRACK:
case ADD:
case MINUS:
case NOT_OP:
case OPEN_BRACE:
enterOuterAlt(_localctx, 1);
{
setState(388);
expr_stmt();
}
break;
case DEL:
enterOuterAlt(_localctx, 2);
{
setState(389);
del_stmt();
}
break;
case PASS:
enterOuterAlt(_localctx, 3);
{
setState(390);
pass_stmt();
}
break;
case RETURN:
case RAISE:
case YIELD:
case CONTINUE:
case BREAK:
enterOuterAlt(_localctx, 4);
{
setState(391);
flow_stmt();
}
break;
case FROM:
case IMPORT:
enterOuterAlt(_localctx, 5);
{
setState(392);
import_stmt();
}
break;
case GLOBAL:
enterOuterAlt(_localctx, 6);
{
setState(393);
global_stmt();
}
break;
case NONLOCAL:
enterOuterAlt(_localctx, 7);
{
setState(394);
nonlocal_stmt();
}
break;
case ASSERT:
enterOuterAlt(_localctx, 8);
{
setState(395);
assert_stmt();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Expr_stmtContext extends ParserRuleContext {
public List testlist_star_expr() {
return getRuleContexts(Testlist_star_exprContext.class);
}
public Testlist_star_exprContext testlist_star_expr(int i) {
return getRuleContext(Testlist_star_exprContext.class,i);
}
public AugassignContext augassign() {
return getRuleContext(AugassignContext.class,0);
}
public List yield_expr() {
return getRuleContexts(Yield_exprContext.class);
}
public Yield_exprContext yield_expr(int i) {
return getRuleContext(Yield_exprContext.class,i);
}
public TestlistContext testlist() {
return getRuleContext(TestlistContext.class,0);
}
public List ASSIGN() { return getTokens(Python335Parser.ASSIGN); }
public TerminalNode ASSIGN(int i) {
return getToken(Python335Parser.ASSIGN, i);
}
public Expr_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_expr_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterExpr_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitExpr_stmt(this);
}
}
public final Expr_stmtContext expr_stmt() throws RecognitionException {
Expr_stmtContext _localctx = new Expr_stmtContext(_ctx, getState());
enterRule(_localctx, 30, RULE_expr_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(398);
testlist_star_expr();
setState(414);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ADD_ASSIGN:
case SUB_ASSIGN:
case MULT_ASSIGN:
case AT_ASSIGN:
case DIV_ASSIGN:
case MOD_ASSIGN:
case AND_ASSIGN:
case OR_ASSIGN:
case XOR_ASSIGN:
case LEFT_SHIFT_ASSIGN:
case RIGHT_SHIFT_ASSIGN:
case POWER_ASSIGN:
case IDIV_ASSIGN:
{
setState(399);
augassign();
setState(402);
_errHandler.sync(this);
switch (_input.LA(1)) {
case YIELD:
{
setState(400);
yield_expr();
}
break;
case LAMBDA:
case NOT:
case NONE:
case TRUE:
case FALSE:
case NAME:
case STRING_LITERAL:
case BYTES_LITERAL:
case DECIMAL_INTEGER:
case OCT_INTEGER:
case HEX_INTEGER:
case BIN_INTEGER:
case FLOAT_NUMBER:
case IMAG_NUMBER:
case ELLIPSIS:
case STAR:
case OPEN_PAREN:
case OPEN_BRACK:
case ADD:
case MINUS:
case NOT_OP:
case OPEN_BRACE:
{
setState(401);
testlist();
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case NEWLINE:
case SEMI_COLON:
case ASSIGN:
{
setState(411);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==ASSIGN) {
{
{
setState(404);
match(ASSIGN);
setState(407);
_errHandler.sync(this);
switch (_input.LA(1)) {
case YIELD:
{
setState(405);
yield_expr();
}
break;
case LAMBDA:
case NOT:
case NONE:
case TRUE:
case FALSE:
case NAME:
case STRING_LITERAL:
case BYTES_LITERAL:
case DECIMAL_INTEGER:
case OCT_INTEGER:
case HEX_INTEGER:
case BIN_INTEGER:
case FLOAT_NUMBER:
case IMAG_NUMBER:
case ELLIPSIS:
case STAR:
case OPEN_PAREN:
case OPEN_BRACK:
case ADD:
case MINUS:
case NOT_OP:
case OPEN_BRACE:
{
setState(406);
testlist_star_expr();
}
break;
default:
throw new NoViableAltException(this);
}
}
}
setState(413);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
break;
default:
throw new NoViableAltException(this);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Testlist_star_exprContext extends ParserRuleContext {
public List test() {
return getRuleContexts(TestContext.class);
}
public TestContext test(int i) {
return getRuleContext(TestContext.class,i);
}
public List star_expr() {
return getRuleContexts(Star_exprContext.class);
}
public Star_exprContext star_expr(int i) {
return getRuleContext(Star_exprContext.class,i);
}
public List COMMA() { return getTokens(Python335Parser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(Python335Parser.COMMA, i);
}
public Testlist_star_exprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_testlist_star_expr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterTestlist_star_expr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitTestlist_star_expr(this);
}
}
public final Testlist_star_exprContext testlist_star_expr() throws RecognitionException {
Testlist_star_exprContext _localctx = new Testlist_star_exprContext(_ctx, getState());
enterRule(_localctx, 32, RULE_testlist_star_expr);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(418);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,47,_ctx) ) {
case 1:
{
setState(416);
test();
}
break;
case 2:
{
setState(417);
star_expr();
}
break;
}
setState(427);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,49,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(420);
match(COMMA);
setState(423);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,48,_ctx) ) {
case 1:
{
setState(421);
test();
}
break;
case 2:
{
setState(422);
star_expr();
}
break;
}
}
}
}
setState(429);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,49,_ctx);
}
setState(431);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(430);
match(COMMA);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AugassignContext extends ParserRuleContext {
public TerminalNode ADD_ASSIGN() { return getToken(Python335Parser.ADD_ASSIGN, 0); }
public TerminalNode SUB_ASSIGN() { return getToken(Python335Parser.SUB_ASSIGN, 0); }
public TerminalNode MULT_ASSIGN() { return getToken(Python335Parser.MULT_ASSIGN, 0); }
public TerminalNode AT_ASSIGN() { return getToken(Python335Parser.AT_ASSIGN, 0); }
public TerminalNode DIV_ASSIGN() { return getToken(Python335Parser.DIV_ASSIGN, 0); }
public TerminalNode MOD_ASSIGN() { return getToken(Python335Parser.MOD_ASSIGN, 0); }
public TerminalNode AND_ASSIGN() { return getToken(Python335Parser.AND_ASSIGN, 0); }
public TerminalNode OR_ASSIGN() { return getToken(Python335Parser.OR_ASSIGN, 0); }
public TerminalNode XOR_ASSIGN() { return getToken(Python335Parser.XOR_ASSIGN, 0); }
public TerminalNode LEFT_SHIFT_ASSIGN() { return getToken(Python335Parser.LEFT_SHIFT_ASSIGN, 0); }
public TerminalNode RIGHT_SHIFT_ASSIGN() { return getToken(Python335Parser.RIGHT_SHIFT_ASSIGN, 0); }
public TerminalNode POWER_ASSIGN() { return getToken(Python335Parser.POWER_ASSIGN, 0); }
public TerminalNode IDIV_ASSIGN() { return getToken(Python335Parser.IDIV_ASSIGN, 0); }
public AugassignContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_augassign; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterAugassign(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitAugassign(this);
}
}
public final AugassignContext augassign() throws RecognitionException {
AugassignContext _localctx = new AugassignContext(_ctx, getState());
enterRule(_localctx, 34, RULE_augassign);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(433);
_la = _input.LA(1);
if ( !(((((_la - 78)) & ~0x3f) == 0 && ((1L << (_la - 78)) & ((1L << (ADD_ASSIGN - 78)) | (1L << (SUB_ASSIGN - 78)) | (1L << (MULT_ASSIGN - 78)) | (1L << (AT_ASSIGN - 78)) | (1L << (DIV_ASSIGN - 78)) | (1L << (MOD_ASSIGN - 78)) | (1L << (AND_ASSIGN - 78)) | (1L << (OR_ASSIGN - 78)) | (1L << (XOR_ASSIGN - 78)) | (1L << (LEFT_SHIFT_ASSIGN - 78)) | (1L << (RIGHT_SHIFT_ASSIGN - 78)) | (1L << (POWER_ASSIGN - 78)) | (1L << (IDIV_ASSIGN - 78)))) != 0)) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Del_stmtContext extends ParserRuleContext {
public TerminalNode DEL() { return getToken(Python335Parser.DEL, 0); }
public ExprlistContext exprlist() {
return getRuleContext(ExprlistContext.class,0);
}
public Del_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_del_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterDel_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitDel_stmt(this);
}
}
public final Del_stmtContext del_stmt() throws RecognitionException {
Del_stmtContext _localctx = new Del_stmtContext(_ctx, getState());
enterRule(_localctx, 36, RULE_del_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(435);
match(DEL);
setState(436);
exprlist();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Pass_stmtContext extends ParserRuleContext {
public TerminalNode PASS() { return getToken(Python335Parser.PASS, 0); }
public Pass_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_pass_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterPass_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitPass_stmt(this);
}
}
public final Pass_stmtContext pass_stmt() throws RecognitionException {
Pass_stmtContext _localctx = new Pass_stmtContext(_ctx, getState());
enterRule(_localctx, 38, RULE_pass_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(438);
match(PASS);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Flow_stmtContext extends ParserRuleContext {
public Break_stmtContext break_stmt() {
return getRuleContext(Break_stmtContext.class,0);
}
public Continue_stmtContext continue_stmt() {
return getRuleContext(Continue_stmtContext.class,0);
}
public Return_stmtContext return_stmt() {
return getRuleContext(Return_stmtContext.class,0);
}
public Raise_stmtContext raise_stmt() {
return getRuleContext(Raise_stmtContext.class,0);
}
public Yield_stmtContext yield_stmt() {
return getRuleContext(Yield_stmtContext.class,0);
}
public Flow_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_flow_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterFlow_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitFlow_stmt(this);
}
}
public final Flow_stmtContext flow_stmt() throws RecognitionException {
Flow_stmtContext _localctx = new Flow_stmtContext(_ctx, getState());
enterRule(_localctx, 40, RULE_flow_stmt);
try {
setState(445);
_errHandler.sync(this);
switch (_input.LA(1)) {
case BREAK:
enterOuterAlt(_localctx, 1);
{
setState(440);
break_stmt();
}
break;
case CONTINUE:
enterOuterAlt(_localctx, 2);
{
setState(441);
continue_stmt();
}
break;
case RETURN:
enterOuterAlt(_localctx, 3);
{
setState(442);
return_stmt();
}
break;
case RAISE:
enterOuterAlt(_localctx, 4);
{
setState(443);
raise_stmt();
}
break;
case YIELD:
enterOuterAlt(_localctx, 5);
{
setState(444);
yield_stmt();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Break_stmtContext extends ParserRuleContext {
public TerminalNode BREAK() { return getToken(Python335Parser.BREAK, 0); }
public Break_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_break_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterBreak_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitBreak_stmt(this);
}
}
public final Break_stmtContext break_stmt() throws RecognitionException {
Break_stmtContext _localctx = new Break_stmtContext(_ctx, getState());
enterRule(_localctx, 42, RULE_break_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(447);
match(BREAK);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Continue_stmtContext extends ParserRuleContext {
public TerminalNode CONTINUE() { return getToken(Python335Parser.CONTINUE, 0); }
public Continue_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_continue_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterContinue_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitContinue_stmt(this);
}
}
public final Continue_stmtContext continue_stmt() throws RecognitionException {
Continue_stmtContext _localctx = new Continue_stmtContext(_ctx, getState());
enterRule(_localctx, 44, RULE_continue_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(449);
match(CONTINUE);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Return_stmtContext extends ParserRuleContext {
public TerminalNode RETURN() { return getToken(Python335Parser.RETURN, 0); }
public TestlistContext testlist() {
return getRuleContext(TestlistContext.class,0);
}
public Return_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_return_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterReturn_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitReturn_stmt(this);
}
}
public final Return_stmtContext return_stmt() throws RecognitionException {
Return_stmtContext _localctx = new Return_stmtContext(_ctx, getState());
enterRule(_localctx, 46, RULE_return_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(451);
match(RETURN);
setState(453);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 20)) & ~0x3f) == 0 && ((1L << (_la - 20)) & ((1L << (LAMBDA - 20)) | (1L << (NOT - 20)) | (1L << (NONE - 20)) | (1L << (TRUE - 20)) | (1L << (FALSE - 20)) | (1L << (NAME - 20)) | (1L << (STRING_LITERAL - 20)) | (1L << (BYTES_LITERAL - 20)) | (1L << (DECIMAL_INTEGER - 20)) | (1L << (OCT_INTEGER - 20)) | (1L << (HEX_INTEGER - 20)) | (1L << (BIN_INTEGER - 20)) | (1L << (FLOAT_NUMBER - 20)) | (1L << (IMAG_NUMBER - 20)) | (1L << (ELLIPSIS - 20)) | (1L << (STAR - 20)) | (1L << (OPEN_PAREN - 20)) | (1L << (OPEN_BRACK - 20)) | (1L << (ADD - 20)) | (1L << (MINUS - 20)) | (1L << (NOT_OP - 20)) | (1L << (OPEN_BRACE - 20)))) != 0)) {
{
setState(452);
testlist();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Yield_stmtContext extends ParserRuleContext {
public Yield_exprContext yield_expr() {
return getRuleContext(Yield_exprContext.class,0);
}
public Yield_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_yield_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterYield_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitYield_stmt(this);
}
}
public final Yield_stmtContext yield_stmt() throws RecognitionException {
Yield_stmtContext _localctx = new Yield_stmtContext(_ctx, getState());
enterRule(_localctx, 48, RULE_yield_stmt);
try {
enterOuterAlt(_localctx, 1);
{
setState(455);
yield_expr();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Raise_stmtContext extends ParserRuleContext {
public TerminalNode RAISE() { return getToken(Python335Parser.RAISE, 0); }
public List test() {
return getRuleContexts(TestContext.class);
}
public TestContext test(int i) {
return getRuleContext(TestContext.class,i);
}
public TerminalNode FROM() { return getToken(Python335Parser.FROM, 0); }
public Raise_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_raise_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterRaise_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitRaise_stmt(this);
}
}
public final Raise_stmtContext raise_stmt() throws RecognitionException {
Raise_stmtContext _localctx = new Raise_stmtContext(_ctx, getState());
enterRule(_localctx, 50, RULE_raise_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(457);
match(RAISE);
setState(463);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 20)) & ~0x3f) == 0 && ((1L << (_la - 20)) & ((1L << (LAMBDA - 20)) | (1L << (NOT - 20)) | (1L << (NONE - 20)) | (1L << (TRUE - 20)) | (1L << (FALSE - 20)) | (1L << (NAME - 20)) | (1L << (STRING_LITERAL - 20)) | (1L << (BYTES_LITERAL - 20)) | (1L << (DECIMAL_INTEGER - 20)) | (1L << (OCT_INTEGER - 20)) | (1L << (HEX_INTEGER - 20)) | (1L << (BIN_INTEGER - 20)) | (1L << (FLOAT_NUMBER - 20)) | (1L << (IMAG_NUMBER - 20)) | (1L << (ELLIPSIS - 20)) | (1L << (STAR - 20)) | (1L << (OPEN_PAREN - 20)) | (1L << (OPEN_BRACK - 20)) | (1L << (ADD - 20)) | (1L << (MINUS - 20)) | (1L << (NOT_OP - 20)) | (1L << (OPEN_BRACE - 20)))) != 0)) {
{
setState(458);
test();
setState(461);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==FROM) {
{
setState(459);
match(FROM);
setState(460);
test();
}
}
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Import_stmtContext extends ParserRuleContext {
public Import_nameContext import_name() {
return getRuleContext(Import_nameContext.class,0);
}
public Import_fromContext import_from() {
return getRuleContext(Import_fromContext.class,0);
}
public Import_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_import_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterImport_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitImport_stmt(this);
}
}
public final Import_stmtContext import_stmt() throws RecognitionException {
Import_stmtContext _localctx = new Import_stmtContext(_ctx, getState());
enterRule(_localctx, 52, RULE_import_stmt);
try {
setState(467);
_errHandler.sync(this);
switch (_input.LA(1)) {
case IMPORT:
enterOuterAlt(_localctx, 1);
{
setState(465);
import_name();
}
break;
case FROM:
enterOuterAlt(_localctx, 2);
{
setState(466);
import_from();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Import_nameContext extends ParserRuleContext {
public TerminalNode IMPORT() { return getToken(Python335Parser.IMPORT, 0); }
public Dotted_as_namesContext dotted_as_names() {
return getRuleContext(Dotted_as_namesContext.class,0);
}
public Import_nameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_import_name; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterImport_name(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitImport_name(this);
}
}
public final Import_nameContext import_name() throws RecognitionException {
Import_nameContext _localctx = new Import_nameContext(_ctx, getState());
enterRule(_localctx, 54, RULE_import_name);
try {
enterOuterAlt(_localctx, 1);
{
setState(469);
match(IMPORT);
setState(470);
dotted_as_names();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Import_fromContext extends ParserRuleContext {
public TerminalNode FROM() { return getToken(Python335Parser.FROM, 0); }
public TerminalNode IMPORT() { return getToken(Python335Parser.IMPORT, 0); }
public Dotted_nameContext dotted_name() {
return getRuleContext(Dotted_nameContext.class,0);
}
public TerminalNode STAR() { return getToken(Python335Parser.STAR, 0); }
public TerminalNode OPEN_PAREN() { return getToken(Python335Parser.OPEN_PAREN, 0); }
public Import_as_namesContext import_as_names() {
return getRuleContext(Import_as_namesContext.class,0);
}
public TerminalNode CLOSE_PAREN() { return getToken(Python335Parser.CLOSE_PAREN, 0); }
public List DOT() { return getTokens(Python335Parser.DOT); }
public TerminalNode DOT(int i) {
return getToken(Python335Parser.DOT, i);
}
public List ELLIPSIS() { return getTokens(Python335Parser.ELLIPSIS); }
public TerminalNode ELLIPSIS(int i) {
return getToken(Python335Parser.ELLIPSIS, i);
}
public Import_fromContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_import_from; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterImport_from(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitImport_from(this);
}
}
public final Import_fromContext import_from() throws RecognitionException {
Import_fromContext _localctx = new Import_fromContext(_ctx, getState());
enterRule(_localctx, 56, RULE_import_from);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(472);
match(FROM);
setState(485);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,58,_ctx) ) {
case 1:
{
setState(476);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==DOT || _la==ELLIPSIS) {
{
{
setState(473);
_la = _input.LA(1);
if ( !(_la==DOT || _la==ELLIPSIS) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(478);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(479);
dotted_name();
}
break;
case 2:
{
setState(481);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(480);
_la = _input.LA(1);
if ( !(_la==DOT || _la==ELLIPSIS) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(483);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==DOT || _la==ELLIPSIS );
}
break;
}
setState(487);
match(IMPORT);
setState(494);
_errHandler.sync(this);
switch (_input.LA(1)) {
case STAR:
{
setState(488);
match(STAR);
}
break;
case OPEN_PAREN:
{
setState(489);
match(OPEN_PAREN);
setState(490);
import_as_names();
setState(491);
match(CLOSE_PAREN);
}
break;
case NAME:
{
setState(493);
import_as_names();
}
break;
default:
throw new NoViableAltException(this);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Import_as_nameContext extends ParserRuleContext {
public List NAME() { return getTokens(Python335Parser.NAME); }
public TerminalNode NAME(int i) {
return getToken(Python335Parser.NAME, i);
}
public TerminalNode AS() { return getToken(Python335Parser.AS, 0); }
public Import_as_nameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_import_as_name; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterImport_as_name(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitImport_as_name(this);
}
}
public final Import_as_nameContext import_as_name() throws RecognitionException {
Import_as_nameContext _localctx = new Import_as_nameContext(_ctx, getState());
enterRule(_localctx, 58, RULE_import_as_name);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(496);
match(NAME);
setState(499);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==AS) {
{
setState(497);
match(AS);
setState(498);
match(NAME);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Dotted_as_nameContext extends ParserRuleContext {
public Dotted_nameContext dotted_name() {
return getRuleContext(Dotted_nameContext.class,0);
}
public TerminalNode AS() { return getToken(Python335Parser.AS, 0); }
public TerminalNode NAME() { return getToken(Python335Parser.NAME, 0); }
public Dotted_as_nameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dotted_as_name; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterDotted_as_name(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitDotted_as_name(this);
}
}
public final Dotted_as_nameContext dotted_as_name() throws RecognitionException {
Dotted_as_nameContext _localctx = new Dotted_as_nameContext(_ctx, getState());
enterRule(_localctx, 60, RULE_dotted_as_name);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(501);
dotted_name();
setState(504);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==AS) {
{
setState(502);
match(AS);
setState(503);
match(NAME);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Import_as_namesContext extends ParserRuleContext {
public List import_as_name() {
return getRuleContexts(Import_as_nameContext.class);
}
public Import_as_nameContext import_as_name(int i) {
return getRuleContext(Import_as_nameContext.class,i);
}
public List COMMA() { return getTokens(Python335Parser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(Python335Parser.COMMA, i);
}
public Import_as_namesContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_import_as_names; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterImport_as_names(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitImport_as_names(this);
}
}
public final Import_as_namesContext import_as_names() throws RecognitionException {
Import_as_namesContext _localctx = new Import_as_namesContext(_ctx, getState());
enterRule(_localctx, 62, RULE_import_as_names);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(506);
import_as_name();
setState(511);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,62,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(507);
match(COMMA);
setState(508);
import_as_name();
}
}
}
setState(513);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,62,_ctx);
}
setState(515);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(514);
match(COMMA);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Dotted_as_namesContext extends ParserRuleContext {
public List dotted_as_name() {
return getRuleContexts(Dotted_as_nameContext.class);
}
public Dotted_as_nameContext dotted_as_name(int i) {
return getRuleContext(Dotted_as_nameContext.class,i);
}
public List COMMA() { return getTokens(Python335Parser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(Python335Parser.COMMA, i);
}
public Dotted_as_namesContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dotted_as_names; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterDotted_as_names(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitDotted_as_names(this);
}
}
public final Dotted_as_namesContext dotted_as_names() throws RecognitionException {
Dotted_as_namesContext _localctx = new Dotted_as_namesContext(_ctx, getState());
enterRule(_localctx, 64, RULE_dotted_as_names);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(517);
dotted_as_name();
setState(522);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(518);
match(COMMA);
setState(519);
dotted_as_name();
}
}
setState(524);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Dotted_nameContext extends ParserRuleContext {
public List NAME() { return getTokens(Python335Parser.NAME); }
public TerminalNode NAME(int i) {
return getToken(Python335Parser.NAME, i);
}
public List DOT() { return getTokens(Python335Parser.DOT); }
public TerminalNode DOT(int i) {
return getToken(Python335Parser.DOT, i);
}
public Dotted_nameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dotted_name; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterDotted_name(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitDotted_name(this);
}
}
public final Dotted_nameContext dotted_name() throws RecognitionException {
Dotted_nameContext _localctx = new Dotted_nameContext(_ctx, getState());
enterRule(_localctx, 66, RULE_dotted_name);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(525);
match(NAME);
setState(530);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==DOT) {
{
{
setState(526);
match(DOT);
setState(527);
match(NAME);
}
}
setState(532);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Global_stmtContext extends ParserRuleContext {
public TerminalNode GLOBAL() { return getToken(Python335Parser.GLOBAL, 0); }
public List NAME() { return getTokens(Python335Parser.NAME); }
public TerminalNode NAME(int i) {
return getToken(Python335Parser.NAME, i);
}
public List COMMA() { return getTokens(Python335Parser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(Python335Parser.COMMA, i);
}
public Global_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_global_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterGlobal_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitGlobal_stmt(this);
}
}
public final Global_stmtContext global_stmt() throws RecognitionException {
Global_stmtContext _localctx = new Global_stmtContext(_ctx, getState());
enterRule(_localctx, 68, RULE_global_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(533);
match(GLOBAL);
setState(534);
match(NAME);
setState(539);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(535);
match(COMMA);
setState(536);
match(NAME);
}
}
setState(541);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Nonlocal_stmtContext extends ParserRuleContext {
public TerminalNode NONLOCAL() { return getToken(Python335Parser.NONLOCAL, 0); }
public List NAME() { return getTokens(Python335Parser.NAME); }
public TerminalNode NAME(int i) {
return getToken(Python335Parser.NAME, i);
}
public List COMMA() { return getTokens(Python335Parser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(Python335Parser.COMMA, i);
}
public Nonlocal_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_nonlocal_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterNonlocal_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitNonlocal_stmt(this);
}
}
public final Nonlocal_stmtContext nonlocal_stmt() throws RecognitionException {
Nonlocal_stmtContext _localctx = new Nonlocal_stmtContext(_ctx, getState());
enterRule(_localctx, 70, RULE_nonlocal_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(542);
match(NONLOCAL);
setState(543);
match(NAME);
setState(548);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(544);
match(COMMA);
setState(545);
match(NAME);
}
}
setState(550);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Assert_stmtContext extends ParserRuleContext {
public TerminalNode ASSERT() { return getToken(Python335Parser.ASSERT, 0); }
public List test() {
return getRuleContexts(TestContext.class);
}
public TestContext test(int i) {
return getRuleContext(TestContext.class,i);
}
public TerminalNode COMMA() { return getToken(Python335Parser.COMMA, 0); }
public Assert_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_assert_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterAssert_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitAssert_stmt(this);
}
}
public final Assert_stmtContext assert_stmt() throws RecognitionException {
Assert_stmtContext _localctx = new Assert_stmtContext(_ctx, getState());
enterRule(_localctx, 72, RULE_assert_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(551);
match(ASSERT);
setState(552);
test();
setState(555);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(553);
match(COMMA);
setState(554);
test();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Compound_stmtContext extends ParserRuleContext {
public If_stmtContext if_stmt() {
return getRuleContext(If_stmtContext.class,0);
}
public While_stmtContext while_stmt() {
return getRuleContext(While_stmtContext.class,0);
}
public For_stmtContext for_stmt() {
return getRuleContext(For_stmtContext.class,0);
}
public Try_stmtContext try_stmt() {
return getRuleContext(Try_stmtContext.class,0);
}
public With_stmtContext with_stmt() {
return getRuleContext(With_stmtContext.class,0);
}
public FuncdefContext funcdef() {
return getRuleContext(FuncdefContext.class,0);
}
public ClassdefContext classdef() {
return getRuleContext(ClassdefContext.class,0);
}
public DecoratedContext decorated() {
return getRuleContext(DecoratedContext.class,0);
}
public Compound_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_compound_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterCompound_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitCompound_stmt(this);
}
}
public final Compound_stmtContext compound_stmt() throws RecognitionException {
Compound_stmtContext _localctx = new Compound_stmtContext(_ctx, getState());
enterRule(_localctx, 74, RULE_compound_stmt);
try {
setState(565);
_errHandler.sync(this);
switch (_input.LA(1)) {
case IF:
enterOuterAlt(_localctx, 1);
{
setState(557);
if_stmt();
}
break;
case WHILE:
enterOuterAlt(_localctx, 2);
{
setState(558);
while_stmt();
}
break;
case FOR:
enterOuterAlt(_localctx, 3);
{
setState(559);
for_stmt();
}
break;
case TRY:
enterOuterAlt(_localctx, 4);
{
setState(560);
try_stmt();
}
break;
case WITH:
enterOuterAlt(_localctx, 5);
{
setState(561);
with_stmt();
}
break;
case DEF:
enterOuterAlt(_localctx, 6);
{
setState(562);
funcdef();
}
break;
case CLASS:
enterOuterAlt(_localctx, 7);
{
setState(563);
classdef();
}
break;
case AT:
enterOuterAlt(_localctx, 8);
{
setState(564);
decorated();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class If_stmtContext extends ParserRuleContext {
public TerminalNode IF() { return getToken(Python335Parser.IF, 0); }
public List test() {
return getRuleContexts(TestContext.class);
}
public TestContext test(int i) {
return getRuleContext(TestContext.class,i);
}
public List COLON() { return getTokens(Python335Parser.COLON); }
public TerminalNode COLON(int i) {
return getToken(Python335Parser.COLON, i);
}
public List suite() {
return getRuleContexts(SuiteContext.class);
}
public SuiteContext suite(int i) {
return getRuleContext(SuiteContext.class,i);
}
public List ELIF() { return getTokens(Python335Parser.ELIF); }
public TerminalNode ELIF(int i) {
return getToken(Python335Parser.ELIF, i);
}
public TerminalNode ELSE() { return getToken(Python335Parser.ELSE, 0); }
public If_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_if_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterIf_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitIf_stmt(this);
}
}
public final If_stmtContext if_stmt() throws RecognitionException {
If_stmtContext _localctx = new If_stmtContext(_ctx, getState());
enterRule(_localctx, 76, RULE_if_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(567);
match(IF);
setState(568);
test();
setState(569);
match(COLON);
setState(570);
suite();
setState(578);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==ELIF) {
{
{
setState(571);
match(ELIF);
setState(572);
test();
setState(573);
match(COLON);
setState(574);
suite();
}
}
setState(580);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(584);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ELSE) {
{
setState(581);
match(ELSE);
setState(582);
match(COLON);
setState(583);
suite();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class While_stmtContext extends ParserRuleContext {
public TerminalNode WHILE() { return getToken(Python335Parser.WHILE, 0); }
public TestContext test() {
return getRuleContext(TestContext.class,0);
}
public List COLON() { return getTokens(Python335Parser.COLON); }
public TerminalNode COLON(int i) {
return getToken(Python335Parser.COLON, i);
}
public List suite() {
return getRuleContexts(SuiteContext.class);
}
public SuiteContext suite(int i) {
return getRuleContext(SuiteContext.class,i);
}
public TerminalNode ELSE() { return getToken(Python335Parser.ELSE, 0); }
public While_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_while_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterWhile_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitWhile_stmt(this);
}
}
public final While_stmtContext while_stmt() throws RecognitionException {
While_stmtContext _localctx = new While_stmtContext(_ctx, getState());
enterRule(_localctx, 78, RULE_while_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(586);
match(WHILE);
setState(587);
test();
setState(588);
match(COLON);
setState(589);
suite();
setState(593);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ELSE) {
{
setState(590);
match(ELSE);
setState(591);
match(COLON);
setState(592);
suite();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class For_stmtContext extends ParserRuleContext {
public TerminalNode FOR() { return getToken(Python335Parser.FOR, 0); }
public ExprlistContext exprlist() {
return getRuleContext(ExprlistContext.class,0);
}
public TerminalNode IN() { return getToken(Python335Parser.IN, 0); }
public TestlistContext testlist() {
return getRuleContext(TestlistContext.class,0);
}
public List COLON() { return getTokens(Python335Parser.COLON); }
public TerminalNode COLON(int i) {
return getToken(Python335Parser.COLON, i);
}
public List suite() {
return getRuleContexts(SuiteContext.class);
}
public SuiteContext suite(int i) {
return getRuleContext(SuiteContext.class,i);
}
public TerminalNode ELSE() { return getToken(Python335Parser.ELSE, 0); }
public For_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_for_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterFor_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitFor_stmt(this);
}
}
public final For_stmtContext for_stmt() throws RecognitionException {
For_stmtContext _localctx = new For_stmtContext(_ctx, getState());
enterRule(_localctx, 80, RULE_for_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(595);
match(FOR);
setState(596);
exprlist();
setState(597);
match(IN);
setState(598);
testlist();
setState(599);
match(COLON);
setState(600);
suite();
setState(604);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ELSE) {
{
setState(601);
match(ELSE);
setState(602);
match(COLON);
setState(603);
suite();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Try_stmtContext extends ParserRuleContext {
public TerminalNode TRY() { return getToken(Python335Parser.TRY, 0); }
public List COLON() { return getTokens(Python335Parser.COLON); }
public TerminalNode COLON(int i) {
return getToken(Python335Parser.COLON, i);
}
public List suite() {
return getRuleContexts(SuiteContext.class);
}
public SuiteContext suite(int i) {
return getRuleContext(SuiteContext.class,i);
}
public TerminalNode FINALLY() { return getToken(Python335Parser.FINALLY, 0); }
public List except_clause() {
return getRuleContexts(Except_clauseContext.class);
}
public Except_clauseContext except_clause(int i) {
return getRuleContext(Except_clauseContext.class,i);
}
public TerminalNode ELSE() { return getToken(Python335Parser.ELSE, 0); }
public Try_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_try_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterTry_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitTry_stmt(this);
}
}
public final Try_stmtContext try_stmt() throws RecognitionException {
Try_stmtContext _localctx = new Try_stmtContext(_ctx, getState());
enterRule(_localctx, 82, RULE_try_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(606);
match(TRY);
setState(607);
match(COLON);
setState(608);
suite();
setState(630);
_errHandler.sync(this);
switch (_input.LA(1)) {
case EXCEPT:
{
setState(613);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(609);
except_clause();
setState(610);
match(COLON);
setState(611);
suite();
}
}
setState(615);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==EXCEPT );
setState(620);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ELSE) {
{
setState(617);
match(ELSE);
setState(618);
match(COLON);
setState(619);
suite();
}
}
setState(625);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==FINALLY) {
{
setState(622);
match(FINALLY);
setState(623);
match(COLON);
setState(624);
suite();
}
}
}
break;
case FINALLY:
{
setState(627);
match(FINALLY);
setState(628);
match(COLON);
setState(629);
suite();
}
break;
default:
throw new NoViableAltException(this);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class With_stmtContext extends ParserRuleContext {
public TerminalNode WITH() { return getToken(Python335Parser.WITH, 0); }
public List with_item() {
return getRuleContexts(With_itemContext.class);
}
public With_itemContext with_item(int i) {
return getRuleContext(With_itemContext.class,i);
}
public TerminalNode COLON() { return getToken(Python335Parser.COLON, 0); }
public SuiteContext suite() {
return getRuleContext(SuiteContext.class,0);
}
public List COMMA() { return getTokens(Python335Parser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(Python335Parser.COMMA, i);
}
public With_stmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_with_stmt; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterWith_stmt(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitWith_stmt(this);
}
}
public final With_stmtContext with_stmt() throws RecognitionException {
With_stmtContext _localctx = new With_stmtContext(_ctx, getState());
enterRule(_localctx, 84, RULE_with_stmt);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(632);
match(WITH);
setState(633);
with_item();
setState(638);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(634);
match(COMMA);
setState(635);
with_item();
}
}
setState(640);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(641);
match(COLON);
setState(642);
suite();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class With_itemContext extends ParserRuleContext {
public TestContext test() {
return getRuleContext(TestContext.class,0);
}
public TerminalNode AS() { return getToken(Python335Parser.AS, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public With_itemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_with_item; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterWith_item(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitWith_item(this);
}
}
public final With_itemContext with_item() throws RecognitionException {
With_itemContext _localctx = new With_itemContext(_ctx, getState());
enterRule(_localctx, 86, RULE_with_item);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(644);
test();
setState(647);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==AS) {
{
setState(645);
match(AS);
setState(646);
expr();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Except_clauseContext extends ParserRuleContext {
public TerminalNode EXCEPT() { return getToken(Python335Parser.EXCEPT, 0); }
public TestContext test() {
return getRuleContext(TestContext.class,0);
}
public TerminalNode AS() { return getToken(Python335Parser.AS, 0); }
public TerminalNode NAME() { return getToken(Python335Parser.NAME, 0); }
public Except_clauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_except_clause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterExcept_clause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitExcept_clause(this);
}
}
public final Except_clauseContext except_clause() throws RecognitionException {
Except_clauseContext _localctx = new Except_clauseContext(_ctx, getState());
enterRule(_localctx, 88, RULE_except_clause);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(649);
match(EXCEPT);
setState(655);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 20)) & ~0x3f) == 0 && ((1L << (_la - 20)) & ((1L << (LAMBDA - 20)) | (1L << (NOT - 20)) | (1L << (NONE - 20)) | (1L << (TRUE - 20)) | (1L << (FALSE - 20)) | (1L << (NAME - 20)) | (1L << (STRING_LITERAL - 20)) | (1L << (BYTES_LITERAL - 20)) | (1L << (DECIMAL_INTEGER - 20)) | (1L << (OCT_INTEGER - 20)) | (1L << (HEX_INTEGER - 20)) | (1L << (BIN_INTEGER - 20)) | (1L << (FLOAT_NUMBER - 20)) | (1L << (IMAG_NUMBER - 20)) | (1L << (ELLIPSIS - 20)) | (1L << (STAR - 20)) | (1L << (OPEN_PAREN - 20)) | (1L << (OPEN_BRACK - 20)) | (1L << (ADD - 20)) | (1L << (MINUS - 20)) | (1L << (NOT_OP - 20)) | (1L << (OPEN_BRACE - 20)))) != 0)) {
{
setState(650);
test();
setState(653);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==AS) {
{
setState(651);
match(AS);
setState(652);
match(NAME);
}
}
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class SuiteContext extends ParserRuleContext {
public Simple_stmtContext simple_stmt() {
return getRuleContext(Simple_stmtContext.class,0);
}
public TerminalNode NEWLINE() { return getToken(Python335Parser.NEWLINE, 0); }
public TerminalNode INDENT() { return getToken(Python335Parser.INDENT, 0); }
public TerminalNode DEDENT() { return getToken(Python335Parser.DEDENT, 0); }
public List stmt() {
return getRuleContexts(StmtContext.class);
}
public StmtContext stmt(int i) {
return getRuleContext(StmtContext.class,i);
}
public SuiteContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_suite; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterSuite(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitSuite(this);
}
}
public final SuiteContext suite() throws RecognitionException {
SuiteContext _localctx = new SuiteContext(_ctx, getState());
enterRule(_localctx, 90, RULE_suite);
int _la;
try {
setState(667);
_errHandler.sync(this);
switch (_input.LA(1)) {
case RETURN:
case RAISE:
case FROM:
case IMPORT:
case GLOBAL:
case NONLOCAL:
case ASSERT:
case LAMBDA:
case NOT:
case NONE:
case TRUE:
case FALSE:
case YIELD:
case DEL:
case PASS:
case CONTINUE:
case BREAK:
case NAME:
case STRING_LITERAL:
case BYTES_LITERAL:
case DECIMAL_INTEGER:
case OCT_INTEGER:
case HEX_INTEGER:
case BIN_INTEGER:
case FLOAT_NUMBER:
case IMAG_NUMBER:
case ELLIPSIS:
case STAR:
case OPEN_PAREN:
case OPEN_BRACK:
case ADD:
case MINUS:
case NOT_OP:
case OPEN_BRACE:
enterOuterAlt(_localctx, 1);
{
setState(657);
simple_stmt();
}
break;
case NEWLINE:
enterOuterAlt(_localctx, 2);
{
setState(658);
match(NEWLINE);
setState(659);
match(INDENT);
setState(661);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(660);
stmt();
}
}
setState(663);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << DEF) | (1L << RETURN) | (1L << RAISE) | (1L << FROM) | (1L << IMPORT) | (1L << GLOBAL) | (1L << NONLOCAL) | (1L << ASSERT) | (1L << IF) | (1L << WHILE) | (1L << FOR) | (1L << TRY) | (1L << WITH) | (1L << LAMBDA) | (1L << NOT) | (1L << NONE) | (1L << TRUE) | (1L << FALSE) | (1L << CLASS) | (1L << YIELD) | (1L << DEL) | (1L << PASS) | (1L << CONTINUE) | (1L << BREAK) | (1L << NAME) | (1L << STRING_LITERAL) | (1L << BYTES_LITERAL) | (1L << DECIMAL_INTEGER) | (1L << OCT_INTEGER) | (1L << HEX_INTEGER) | (1L << BIN_INTEGER) | (1L << FLOAT_NUMBER) | (1L << IMAG_NUMBER) | (1L << ELLIPSIS) | (1L << STAR) | (1L << OPEN_PAREN) | (1L << OPEN_BRACK) | (1L << ADD) | (1L << MINUS))) != 0) || ((((_la - 66)) & ~0x3f) == 0 && ((1L << (_la - 66)) & ((1L << (NOT_OP - 66)) | (1L << (OPEN_BRACE - 66)) | (1L << (AT - 66)))) != 0) );
setState(665);
match(DEDENT);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class TestContext extends ParserRuleContext {
public List or_test() {
return getRuleContexts(Or_testContext.class);
}
public Or_testContext or_test(int i) {
return getRuleContext(Or_testContext.class,i);
}
public TerminalNode IF() { return getToken(Python335Parser.IF, 0); }
public TerminalNode ELSE() { return getToken(Python335Parser.ELSE, 0); }
public TestContext test() {
return getRuleContext(TestContext.class,0);
}
public LambdefContext lambdef() {
return getRuleContext(LambdefContext.class,0);
}
public TestContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_test; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterTest(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitTest(this);
}
}
public final TestContext test() throws RecognitionException {
TestContext _localctx = new TestContext(_ctx, getState());
enterRule(_localctx, 92, RULE_test);
int _la;
try {
setState(678);
_errHandler.sync(this);
switch (_input.LA(1)) {
case NOT:
case NONE:
case TRUE:
case FALSE:
case NAME:
case STRING_LITERAL:
case BYTES_LITERAL:
case DECIMAL_INTEGER:
case OCT_INTEGER:
case HEX_INTEGER:
case BIN_INTEGER:
case FLOAT_NUMBER:
case IMAG_NUMBER:
case ELLIPSIS:
case STAR:
case OPEN_PAREN:
case OPEN_BRACK:
case ADD:
case MINUS:
case NOT_OP:
case OPEN_BRACE:
enterOuterAlt(_localctx, 1);
{
setState(669);
or_test();
setState(675);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(670);
match(IF);
setState(671);
or_test();
setState(672);
match(ELSE);
setState(673);
test();
}
}
}
break;
case LAMBDA:
enterOuterAlt(_localctx, 2);
{
setState(677);
lambdef();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Test_nocondContext extends ParserRuleContext {
public Or_testContext or_test() {
return getRuleContext(Or_testContext.class,0);
}
public Lambdef_nocondContext lambdef_nocond() {
return getRuleContext(Lambdef_nocondContext.class,0);
}
public Test_nocondContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_test_nocond; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterTest_nocond(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitTest_nocond(this);
}
}
public final Test_nocondContext test_nocond() throws RecognitionException {
Test_nocondContext _localctx = new Test_nocondContext(_ctx, getState());
enterRule(_localctx, 94, RULE_test_nocond);
try {
setState(682);
_errHandler.sync(this);
switch (_input.LA(1)) {
case NOT:
case NONE:
case TRUE:
case FALSE:
case NAME:
case STRING_LITERAL:
case BYTES_LITERAL:
case DECIMAL_INTEGER:
case OCT_INTEGER:
case HEX_INTEGER:
case BIN_INTEGER:
case FLOAT_NUMBER:
case IMAG_NUMBER:
case ELLIPSIS:
case STAR:
case OPEN_PAREN:
case OPEN_BRACK:
case ADD:
case MINUS:
case NOT_OP:
case OPEN_BRACE:
enterOuterAlt(_localctx, 1);
{
setState(680);
or_test();
}
break;
case LAMBDA:
enterOuterAlt(_localctx, 2);
{
setState(681);
lambdef_nocond();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class LambdefContext extends ParserRuleContext {
public TerminalNode LAMBDA() { return getToken(Python335Parser.LAMBDA, 0); }
public TerminalNode COLON() { return getToken(Python335Parser.COLON, 0); }
public TestContext test() {
return getRuleContext(TestContext.class,0);
}
public VarargslistContext varargslist() {
return getRuleContext(VarargslistContext.class,0);
}
public LambdefContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_lambdef; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterLambdef(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitLambdef(this);
}
}
public final LambdefContext lambdef() throws RecognitionException {
LambdefContext _localctx = new LambdefContext(_ctx, getState());
enterRule(_localctx, 96, RULE_lambdef);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(684);
match(LAMBDA);
setState(686);
_errHandler.sync(this);
_la = _input.LA(1);
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NAME) | (1L << STAR) | (1L << POWER))) != 0)) {
{
setState(685);
varargslist();
}
}
setState(688);
match(COLON);
setState(689);
test();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Lambdef_nocondContext extends ParserRuleContext {
public TerminalNode LAMBDA() { return getToken(Python335Parser.LAMBDA, 0); }
public TerminalNode COLON() { return getToken(Python335Parser.COLON, 0); }
public Test_nocondContext test_nocond() {
return getRuleContext(Test_nocondContext.class,0);
}
public VarargslistContext varargslist() {
return getRuleContext(VarargslistContext.class,0);
}
public Lambdef_nocondContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_lambdef_nocond; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterLambdef_nocond(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitLambdef_nocond(this);
}
}
public final Lambdef_nocondContext lambdef_nocond() throws RecognitionException {
Lambdef_nocondContext _localctx = new Lambdef_nocondContext(_ctx, getState());
enterRule(_localctx, 98, RULE_lambdef_nocond);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(691);
match(LAMBDA);
setState(693);
_errHandler.sync(this);
_la = _input.LA(1);
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NAME) | (1L << STAR) | (1L << POWER))) != 0)) {
{
setState(692);
varargslist();
}
}
setState(695);
match(COLON);
setState(696);
test_nocond();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Or_testContext extends ParserRuleContext {
public List and_test() {
return getRuleContexts(And_testContext.class);
}
public And_testContext and_test(int i) {
return getRuleContext(And_testContext.class,i);
}
public List OR() { return getTokens(Python335Parser.OR); }
public TerminalNode OR(int i) {
return getToken(Python335Parser.OR, i);
}
public Or_testContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_or_test; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterOr_test(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitOr_test(this);
}
}
public final Or_testContext or_test() throws RecognitionException {
Or_testContext _localctx = new Or_testContext(_ctx, getState());
enterRule(_localctx, 100, RULE_or_test);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(698);
and_test();
setState(703);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==OR) {
{
{
setState(699);
match(OR);
setState(700);
and_test();
}
}
setState(705);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class And_testContext extends ParserRuleContext {
public List not_test() {
return getRuleContexts(Not_testContext.class);
}
public Not_testContext not_test(int i) {
return getRuleContext(Not_testContext.class,i);
}
public List AND() { return getTokens(Python335Parser.AND); }
public TerminalNode AND(int i) {
return getToken(Python335Parser.AND, i);
}
public And_testContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_and_test; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterAnd_test(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitAnd_test(this);
}
}
public final And_testContext and_test() throws RecognitionException {
And_testContext _localctx = new And_testContext(_ctx, getState());
enterRule(_localctx, 102, RULE_and_test);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(706);
not_test();
setState(711);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==AND) {
{
{
setState(707);
match(AND);
setState(708);
not_test();
}
}
setState(713);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Not_testContext extends ParserRuleContext {
public TerminalNode NOT() { return getToken(Python335Parser.NOT, 0); }
public Not_testContext not_test() {
return getRuleContext(Not_testContext.class,0);
}
public ComparisonContext comparison() {
return getRuleContext(ComparisonContext.class,0);
}
public Not_testContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_not_test; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterNot_test(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitNot_test(this);
}
}
public final Not_testContext not_test() throws RecognitionException {
Not_testContext _localctx = new Not_testContext(_ctx, getState());
enterRule(_localctx, 104, RULE_not_test);
try {
setState(717);
_errHandler.sync(this);
switch (_input.LA(1)) {
case NOT:
enterOuterAlt(_localctx, 1);
{
setState(714);
match(NOT);
setState(715);
not_test();
}
break;
case NONE:
case TRUE:
case FALSE:
case NAME:
case STRING_LITERAL:
case BYTES_LITERAL:
case DECIMAL_INTEGER:
case OCT_INTEGER:
case HEX_INTEGER:
case BIN_INTEGER:
case FLOAT_NUMBER:
case IMAG_NUMBER:
case ELLIPSIS:
case STAR:
case OPEN_PAREN:
case OPEN_BRACK:
case ADD:
case MINUS:
case NOT_OP:
case OPEN_BRACE:
enterOuterAlt(_localctx, 2);
{
setState(716);
comparison();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ComparisonContext extends ParserRuleContext {
public List star_expr() {
return getRuleContexts(Star_exprContext.class);
}
public Star_exprContext star_expr(int i) {
return getRuleContext(Star_exprContext.class,i);
}
public List comp_op() {
return getRuleContexts(Comp_opContext.class);
}
public Comp_opContext comp_op(int i) {
return getRuleContext(Comp_opContext.class,i);
}
public ComparisonContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_comparison; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterComparison(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitComparison(this);
}
}
public final ComparisonContext comparison() throws RecognitionException {
ComparisonContext _localctx = new ComparisonContext(_ctx, getState());
enterRule(_localctx, 106, RULE_comparison);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(719);
star_expr();
setState(725);
_errHandler.sync(this);
_la = _input.LA(1);
while (((((_la - 15)) & ~0x3f) == 0 && ((1L << (_la - 15)) & ((1L << (IN - 15)) | (1L << (NOT - 15)) | (1L << (IS - 15)) | (1L << (LESS_THAN - 15)) | (1L << (GREATER_THAN - 15)) | (1L << (EQUALS - 15)) | (1L << (GT_EQ - 15)) | (1L << (LT_EQ - 15)) | (1L << (NOT_EQ_1 - 15)) | (1L << (NOT_EQ_2 - 15)))) != 0)) {
{
{
setState(720);
comp_op();
setState(721);
star_expr();
}
}
setState(727);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Comp_opContext extends ParserRuleContext {
public TerminalNode LESS_THAN() { return getToken(Python335Parser.LESS_THAN, 0); }
public TerminalNode GREATER_THAN() { return getToken(Python335Parser.GREATER_THAN, 0); }
public TerminalNode EQUALS() { return getToken(Python335Parser.EQUALS, 0); }
public TerminalNode GT_EQ() { return getToken(Python335Parser.GT_EQ, 0); }
public TerminalNode LT_EQ() { return getToken(Python335Parser.LT_EQ, 0); }
public TerminalNode NOT_EQ_1() { return getToken(Python335Parser.NOT_EQ_1, 0); }
public TerminalNode NOT_EQ_2() { return getToken(Python335Parser.NOT_EQ_2, 0); }
public TerminalNode IN() { return getToken(Python335Parser.IN, 0); }
public TerminalNode NOT() { return getToken(Python335Parser.NOT, 0); }
public TerminalNode IS() { return getToken(Python335Parser.IS, 0); }
public Comp_opContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_comp_op; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterComp_op(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitComp_op(this);
}
}
public final Comp_opContext comp_op() throws RecognitionException {
Comp_opContext _localctx = new Comp_opContext(_ctx, getState());
enterRule(_localctx, 108, RULE_comp_op);
try {
setState(741);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,93,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(728);
match(LESS_THAN);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(729);
match(GREATER_THAN);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(730);
match(EQUALS);
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(731);
match(GT_EQ);
}
break;
case 5:
enterOuterAlt(_localctx, 5);
{
setState(732);
match(LT_EQ);
}
break;
case 6:
enterOuterAlt(_localctx, 6);
{
setState(733);
match(NOT_EQ_1);
}
break;
case 7:
enterOuterAlt(_localctx, 7);
{
setState(734);
match(NOT_EQ_2);
}
break;
case 8:
enterOuterAlt(_localctx, 8);
{
setState(735);
match(IN);
}
break;
case 9:
enterOuterAlt(_localctx, 9);
{
setState(736);
match(NOT);
setState(737);
match(IN);
}
break;
case 10:
enterOuterAlt(_localctx, 10);
{
setState(738);
match(IS);
}
break;
case 11:
enterOuterAlt(_localctx, 11);
{
setState(739);
match(IS);
setState(740);
match(NOT);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Star_exprContext extends ParserRuleContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode STAR() { return getToken(Python335Parser.STAR, 0); }
public Star_exprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_star_expr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterStar_expr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitStar_expr(this);
}
}
public final Star_exprContext star_expr() throws RecognitionException {
Star_exprContext _localctx = new Star_exprContext(_ctx, getState());
enterRule(_localctx, 110, RULE_star_expr);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(744);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==STAR) {
{
setState(743);
match(STAR);
}
}
setState(746);
expr();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ExprContext extends ParserRuleContext {
public List xor_expr() {
return getRuleContexts(Xor_exprContext.class);
}
public Xor_exprContext xor_expr(int i) {
return getRuleContext(Xor_exprContext.class,i);
}
public List OR_OP() { return getTokens(Python335Parser.OR_OP); }
public TerminalNode OR_OP(int i) {
return getToken(Python335Parser.OR_OP, i);
}
public ExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_expr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitExpr(this);
}
}
public final ExprContext expr() throws RecognitionException {
ExprContext _localctx = new ExprContext(_ctx, getState());
enterRule(_localctx, 112, RULE_expr);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(748);
xor_expr();
setState(753);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==OR_OP) {
{
{
setState(749);
match(OR_OP);
setState(750);
xor_expr();
}
}
setState(755);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Xor_exprContext extends ParserRuleContext {
public List and_expr() {
return getRuleContexts(And_exprContext.class);
}
public And_exprContext and_expr(int i) {
return getRuleContext(And_exprContext.class,i);
}
public List XOR() { return getTokens(Python335Parser.XOR); }
public TerminalNode XOR(int i) {
return getToken(Python335Parser.XOR, i);
}
public Xor_exprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_xor_expr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterXor_expr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitXor_expr(this);
}
}
public final Xor_exprContext xor_expr() throws RecognitionException {
Xor_exprContext _localctx = new Xor_exprContext(_ctx, getState());
enterRule(_localctx, 114, RULE_xor_expr);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(756);
and_expr();
setState(761);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==XOR) {
{
{
setState(757);
match(XOR);
setState(758);
and_expr();
}
}
setState(763);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class And_exprContext extends ParserRuleContext {
public List shift_expr() {
return getRuleContexts(Shift_exprContext.class);
}
public Shift_exprContext shift_expr(int i) {
return getRuleContext(Shift_exprContext.class,i);
}
public List AND_OP() { return getTokens(Python335Parser.AND_OP); }
public TerminalNode AND_OP(int i) {
return getToken(Python335Parser.AND_OP, i);
}
public And_exprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_and_expr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterAnd_expr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitAnd_expr(this);
}
}
public final And_exprContext and_expr() throws RecognitionException {
And_exprContext _localctx = new And_exprContext(_ctx, getState());
enterRule(_localctx, 116, RULE_and_expr);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(764);
shift_expr();
setState(769);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==AND_OP) {
{
{
setState(765);
match(AND_OP);
setState(766);
shift_expr();
}
}
setState(771);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Shift_exprContext extends ParserRuleContext {
public List arith_expr() {
return getRuleContexts(Arith_exprContext.class);
}
public Arith_exprContext arith_expr(int i) {
return getRuleContext(Arith_exprContext.class,i);
}
public List LEFT_SHIFT() { return getTokens(Python335Parser.LEFT_SHIFT); }
public TerminalNode LEFT_SHIFT(int i) {
return getToken(Python335Parser.LEFT_SHIFT, i);
}
public List RIGHT_SHIFT() { return getTokens(Python335Parser.RIGHT_SHIFT); }
public TerminalNode RIGHT_SHIFT(int i) {
return getToken(Python335Parser.RIGHT_SHIFT, i);
}
public Shift_exprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_shift_expr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterShift_expr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitShift_expr(this);
}
}
public final Shift_exprContext shift_expr() throws RecognitionException {
Shift_exprContext _localctx = new Shift_exprContext(_ctx, getState());
enterRule(_localctx, 118, RULE_shift_expr);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(772);
arith_expr();
setState(779);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==LEFT_SHIFT || _la==RIGHT_SHIFT) {
{
setState(777);
_errHandler.sync(this);
switch (_input.LA(1)) {
case LEFT_SHIFT:
{
setState(773);
match(LEFT_SHIFT);
setState(774);
arith_expr();
}
break;
case RIGHT_SHIFT:
{
setState(775);
match(RIGHT_SHIFT);
setState(776);
arith_expr();
}
break;
default:
throw new NoViableAltException(this);
}
}
setState(781);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Arith_exprContext extends ParserRuleContext {
public List term() {
return getRuleContexts(TermContext.class);
}
public TermContext term(int i) {
return getRuleContext(TermContext.class,i);
}
public List ADD() { return getTokens(Python335Parser.ADD); }
public TerminalNode ADD(int i) {
return getToken(Python335Parser.ADD, i);
}
public List MINUS() { return getTokens(Python335Parser.MINUS); }
public TerminalNode MINUS(int i) {
return getToken(Python335Parser.MINUS, i);
}
public Arith_exprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_arith_expr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterArith_expr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitArith_expr(this);
}
}
public final Arith_exprContext arith_expr() throws RecognitionException {
Arith_exprContext _localctx = new Arith_exprContext(_ctx, getState());
enterRule(_localctx, 120, RULE_arith_expr);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(782);
term();
setState(789);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==ADD || _la==MINUS) {
{
setState(787);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ADD:
{
setState(783);
match(ADD);
setState(784);
term();
}
break;
case MINUS:
{
setState(785);
match(MINUS);
setState(786);
term();
}
break;
default:
throw new NoViableAltException(this);
}
}
setState(791);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class TermContext extends ParserRuleContext {
public List factor() {
return getRuleContexts(FactorContext.class);
}
public FactorContext factor(int i) {
return getRuleContext(FactorContext.class,i);
}
public List STAR() { return getTokens(Python335Parser.STAR); }
public TerminalNode STAR(int i) {
return getToken(Python335Parser.STAR, i);
}
public List DIV() { return getTokens(Python335Parser.DIV); }
public TerminalNode DIV(int i) {
return getToken(Python335Parser.DIV, i);
}
public List MOD() { return getTokens(Python335Parser.MOD); }
public TerminalNode MOD(int i) {
return getToken(Python335Parser.MOD, i);
}
public List IDIV() { return getTokens(Python335Parser.IDIV); }
public TerminalNode IDIV(int i) {
return getToken(Python335Parser.IDIV, i);
}
public List AT() { return getTokens(Python335Parser.AT); }
public TerminalNode AT(int i) {
return getToken(Python335Parser.AT, i);
}
public TermContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_term; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterTerm(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitTerm(this);
}
}
public final TermContext term() throws RecognitionException {
TermContext _localctx = new TermContext(_ctx, getState());
enterRule(_localctx, 122, RULE_term);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(792);
factor();
setState(805);
_errHandler.sync(this);
_la = _input.LA(1);
while (((((_la - 46)) & ~0x3f) == 0 && ((1L << (_la - 46)) & ((1L << (STAR - 46)) | (1L << (DIV - 46)) | (1L << (MOD - 46)) | (1L << (IDIV - 46)) | (1L << (AT - 46)))) != 0)) {
{
setState(803);
_errHandler.sync(this);
switch (_input.LA(1)) {
case STAR:
{
setState(793);
match(STAR);
setState(794);
factor();
}
break;
case DIV:
{
setState(795);
match(DIV);
setState(796);
factor();
}
break;
case MOD:
{
setState(797);
match(MOD);
setState(798);
factor();
}
break;
case IDIV:
{
setState(799);
match(IDIV);
setState(800);
factor();
}
break;
case AT:
{
setState(801);
match(AT);
setState(802);
factor();
}
break;
default:
throw new NoViableAltException(this);
}
}
setState(807);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class FactorContext extends ParserRuleContext {
public TerminalNode ADD() { return getToken(Python335Parser.ADD, 0); }
public FactorContext factor() {
return getRuleContext(FactorContext.class,0);
}
public TerminalNode MINUS() { return getToken(Python335Parser.MINUS, 0); }
public TerminalNode NOT_OP() { return getToken(Python335Parser.NOT_OP, 0); }
public PowerContext power() {
return getRuleContext(PowerContext.class,0);
}
public FactorContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_factor; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterFactor(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitFactor(this);
}
}
public final FactorContext factor() throws RecognitionException {
FactorContext _localctx = new FactorContext(_ctx, getState());
enterRule(_localctx, 124, RULE_factor);
try {
setState(815);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ADD:
enterOuterAlt(_localctx, 1);
{
setState(808);
match(ADD);
setState(809);
factor();
}
break;
case MINUS:
enterOuterAlt(_localctx, 2);
{
setState(810);
match(MINUS);
setState(811);
factor();
}
break;
case NOT_OP:
enterOuterAlt(_localctx, 3);
{
setState(812);
match(NOT_OP);
setState(813);
factor();
}
break;
case NONE:
case TRUE:
case FALSE:
case NAME:
case STRING_LITERAL:
case BYTES_LITERAL:
case DECIMAL_INTEGER:
case OCT_INTEGER:
case HEX_INTEGER:
case BIN_INTEGER:
case FLOAT_NUMBER:
case IMAG_NUMBER:
case ELLIPSIS:
case OPEN_PAREN:
case OPEN_BRACK:
case OPEN_BRACE:
enterOuterAlt(_localctx, 4);
{
setState(814);
power();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class PowerContext extends ParserRuleContext {
public AtomContext atom() {
return getRuleContext(AtomContext.class,0);
}
public List trailer() {
return getRuleContexts(TrailerContext.class);
}
public TrailerContext trailer(int i) {
return getRuleContext(TrailerContext.class,i);
}
public TerminalNode POWER() { return getToken(Python335Parser.POWER, 0); }
public FactorContext factor() {
return getRuleContext(FactorContext.class,0);
}
public PowerContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_power; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterPower(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitPower(this);
}
}
public final PowerContext power() throws RecognitionException {
PowerContext _localctx = new PowerContext(_ctx, getState());
enterRule(_localctx, 126, RULE_power);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(817);
atom();
setState(821);
_errHandler.sync(this);
_la = _input.LA(1);
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << DOT) | (1L << OPEN_PAREN) | (1L << OPEN_BRACK))) != 0)) {
{
{
setState(818);
trailer();
}
}
setState(823);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(826);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==POWER) {
{
setState(824);
match(POWER);
setState(825);
factor();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AtomContext extends ParserRuleContext {
public TerminalNode OPEN_PAREN() { return getToken(Python335Parser.OPEN_PAREN, 0); }
public TerminalNode CLOSE_PAREN() { return getToken(Python335Parser.CLOSE_PAREN, 0); }
public Yield_exprContext yield_expr() {
return getRuleContext(Yield_exprContext.class,0);
}
public Testlist_compContext testlist_comp() {
return getRuleContext(Testlist_compContext.class,0);
}
public TerminalNode OPEN_BRACK() { return getToken(Python335Parser.OPEN_BRACK, 0); }
public TerminalNode CLOSE_BRACK() { return getToken(Python335Parser.CLOSE_BRACK, 0); }
public TerminalNode OPEN_BRACE() { return getToken(Python335Parser.OPEN_BRACE, 0); }
public TerminalNode CLOSE_BRACE() { return getToken(Python335Parser.CLOSE_BRACE, 0); }
public DictorsetmakerContext dictorsetmaker() {
return getRuleContext(DictorsetmakerContext.class,0);
}
public TerminalNode NAME() { return getToken(Python335Parser.NAME, 0); }
public NumberContext number() {
return getRuleContext(NumberContext.class,0);
}
public List str() {
return getRuleContexts(StrContext.class);
}
public StrContext str(int i) {
return getRuleContext(StrContext.class,i);
}
public TerminalNode ELLIPSIS() { return getToken(Python335Parser.ELLIPSIS, 0); }
public TerminalNode NONE() { return getToken(Python335Parser.NONE, 0); }
public TerminalNode TRUE() { return getToken(Python335Parser.TRUE, 0); }
public TerminalNode FALSE() { return getToken(Python335Parser.FALSE, 0); }
public AtomContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_atom; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterAtom(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitAtom(this);
}
}
public final AtomContext atom() throws RecognitionException {
AtomContext _localctx = new AtomContext(_ctx, getState());
enterRule(_localctx, 128, RULE_atom);
int _la;
try {
setState(855);
_errHandler.sync(this);
switch (_input.LA(1)) {
case OPEN_PAREN:
enterOuterAlt(_localctx, 1);
{
setState(828);
match(OPEN_PAREN);
setState(831);
_errHandler.sync(this);
switch (_input.LA(1)) {
case YIELD:
{
setState(829);
yield_expr();
}
break;
case LAMBDA:
case NOT:
case NONE:
case TRUE:
case FALSE:
case NAME:
case STRING_LITERAL:
case BYTES_LITERAL:
case DECIMAL_INTEGER:
case OCT_INTEGER:
case HEX_INTEGER:
case BIN_INTEGER:
case FLOAT_NUMBER:
case IMAG_NUMBER:
case ELLIPSIS:
case STAR:
case OPEN_PAREN:
case OPEN_BRACK:
case ADD:
case MINUS:
case NOT_OP:
case OPEN_BRACE:
{
setState(830);
testlist_comp();
}
break;
case CLOSE_PAREN:
break;
default:
break;
}
setState(833);
match(CLOSE_PAREN);
}
break;
case OPEN_BRACK:
enterOuterAlt(_localctx, 2);
{
setState(834);
match(OPEN_BRACK);
setState(836);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 20)) & ~0x3f) == 0 && ((1L << (_la - 20)) & ((1L << (LAMBDA - 20)) | (1L << (NOT - 20)) | (1L << (NONE - 20)) | (1L << (TRUE - 20)) | (1L << (FALSE - 20)) | (1L << (NAME - 20)) | (1L << (STRING_LITERAL - 20)) | (1L << (BYTES_LITERAL - 20)) | (1L << (DECIMAL_INTEGER - 20)) | (1L << (OCT_INTEGER - 20)) | (1L << (HEX_INTEGER - 20)) | (1L << (BIN_INTEGER - 20)) | (1L << (FLOAT_NUMBER - 20)) | (1L << (IMAG_NUMBER - 20)) | (1L << (ELLIPSIS - 20)) | (1L << (STAR - 20)) | (1L << (OPEN_PAREN - 20)) | (1L << (OPEN_BRACK - 20)) | (1L << (ADD - 20)) | (1L << (MINUS - 20)) | (1L << (NOT_OP - 20)) | (1L << (OPEN_BRACE - 20)))) != 0)) {
{
setState(835);
testlist_comp();
}
}
setState(838);
match(CLOSE_BRACK);
}
break;
case OPEN_BRACE:
enterOuterAlt(_localctx, 3);
{
setState(839);
match(OPEN_BRACE);
setState(841);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 20)) & ~0x3f) == 0 && ((1L << (_la - 20)) & ((1L << (LAMBDA - 20)) | (1L << (NOT - 20)) | (1L << (NONE - 20)) | (1L << (TRUE - 20)) | (1L << (FALSE - 20)) | (1L << (NAME - 20)) | (1L << (STRING_LITERAL - 20)) | (1L << (BYTES_LITERAL - 20)) | (1L << (DECIMAL_INTEGER - 20)) | (1L << (OCT_INTEGER - 20)) | (1L << (HEX_INTEGER - 20)) | (1L << (BIN_INTEGER - 20)) | (1L << (FLOAT_NUMBER - 20)) | (1L << (IMAG_NUMBER - 20)) | (1L << (ELLIPSIS - 20)) | (1L << (STAR - 20)) | (1L << (OPEN_PAREN - 20)) | (1L << (OPEN_BRACK - 20)) | (1L << (ADD - 20)) | (1L << (MINUS - 20)) | (1L << (NOT_OP - 20)) | (1L << (OPEN_BRACE - 20)))) != 0)) {
{
setState(840);
dictorsetmaker();
}
}
setState(843);
match(CLOSE_BRACE);
}
break;
case NAME:
enterOuterAlt(_localctx, 4);
{
setState(844);
match(NAME);
}
break;
case DECIMAL_INTEGER:
case OCT_INTEGER:
case HEX_INTEGER:
case BIN_INTEGER:
case FLOAT_NUMBER:
case IMAG_NUMBER:
enterOuterAlt(_localctx, 5);
{
setState(845);
number();
}
break;
case STRING_LITERAL:
case BYTES_LITERAL:
enterOuterAlt(_localctx, 6);
{
setState(847);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(846);
str();
}
}
setState(849);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==STRING_LITERAL || _la==BYTES_LITERAL );
}
break;
case ELLIPSIS:
enterOuterAlt(_localctx, 7);
{
setState(851);
match(ELLIPSIS);
}
break;
case NONE:
enterOuterAlt(_localctx, 8);
{
setState(852);
match(NONE);
}
break;
case TRUE:
enterOuterAlt(_localctx, 9);
{
setState(853);
match(TRUE);
}
break;
case FALSE:
enterOuterAlt(_localctx, 10);
{
setState(854);
match(FALSE);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Testlist_compContext extends ParserRuleContext {
public List test() {
return getRuleContexts(TestContext.class);
}
public TestContext test(int i) {
return getRuleContext(TestContext.class,i);
}
public Comp_forContext comp_for() {
return getRuleContext(Comp_forContext.class,0);
}
public List COMMA() { return getTokens(Python335Parser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(Python335Parser.COMMA, i);
}
public Testlist_compContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_testlist_comp; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterTestlist_comp(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitTestlist_comp(this);
}
}
public final Testlist_compContext testlist_comp() throws RecognitionException {
Testlist_compContext _localctx = new Testlist_compContext(_ctx, getState());
enterRule(_localctx, 130, RULE_testlist_comp);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(857);
test();
setState(869);
_errHandler.sync(this);
switch (_input.LA(1)) {
case FOR:
{
setState(858);
comp_for();
}
break;
case CLOSE_PAREN:
case COMMA:
case CLOSE_BRACK:
{
setState(863);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,112,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(859);
match(COMMA);
setState(860);
test();
}
}
}
setState(865);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,112,_ctx);
}
setState(867);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(866);
match(COMMA);
}
}
}
break;
default:
throw new NoViableAltException(this);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class TrailerContext extends ParserRuleContext {
public TerminalNode OPEN_PAREN() { return getToken(Python335Parser.OPEN_PAREN, 0); }
public TerminalNode CLOSE_PAREN() { return getToken(Python335Parser.CLOSE_PAREN, 0); }
public ArglistContext arglist() {
return getRuleContext(ArglistContext.class,0);
}
public TerminalNode OPEN_BRACK() { return getToken(Python335Parser.OPEN_BRACK, 0); }
public SubscriptlistContext subscriptlist() {
return getRuleContext(SubscriptlistContext.class,0);
}
public TerminalNode CLOSE_BRACK() { return getToken(Python335Parser.CLOSE_BRACK, 0); }
public TerminalNode DOT() { return getToken(Python335Parser.DOT, 0); }
public TerminalNode NAME() { return getToken(Python335Parser.NAME, 0); }
public TrailerContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_trailer; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterTrailer(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitTrailer(this);
}
}
public final TrailerContext trailer() throws RecognitionException {
TrailerContext _localctx = new TrailerContext(_ctx, getState());
enterRule(_localctx, 132, RULE_trailer);
int _la;
try {
setState(882);
_errHandler.sync(this);
switch (_input.LA(1)) {
case OPEN_PAREN:
enterOuterAlt(_localctx, 1);
{
setState(871);
match(OPEN_PAREN);
setState(873);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 20)) & ~0x3f) == 0 && ((1L << (_la - 20)) & ((1L << (LAMBDA - 20)) | (1L << (NOT - 20)) | (1L << (NONE - 20)) | (1L << (TRUE - 20)) | (1L << (FALSE - 20)) | (1L << (NAME - 20)) | (1L << (STRING_LITERAL - 20)) | (1L << (BYTES_LITERAL - 20)) | (1L << (DECIMAL_INTEGER - 20)) | (1L << (OCT_INTEGER - 20)) | (1L << (HEX_INTEGER - 20)) | (1L << (BIN_INTEGER - 20)) | (1L << (FLOAT_NUMBER - 20)) | (1L << (IMAG_NUMBER - 20)) | (1L << (ELLIPSIS - 20)) | (1L << (STAR - 20)) | (1L << (OPEN_PAREN - 20)) | (1L << (POWER - 20)) | (1L << (OPEN_BRACK - 20)) | (1L << (ADD - 20)) | (1L << (MINUS - 20)) | (1L << (NOT_OP - 20)) | (1L << (OPEN_BRACE - 20)))) != 0)) {
{
setState(872);
arglist();
}
}
setState(875);
match(CLOSE_PAREN);
}
break;
case OPEN_BRACK:
enterOuterAlt(_localctx, 2);
{
setState(876);
match(OPEN_BRACK);
setState(877);
subscriptlist();
setState(878);
match(CLOSE_BRACK);
}
break;
case DOT:
enterOuterAlt(_localctx, 3);
{
setState(880);
match(DOT);
setState(881);
match(NAME);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class SubscriptlistContext extends ParserRuleContext {
public List subscript() {
return getRuleContexts(SubscriptContext.class);
}
public SubscriptContext subscript(int i) {
return getRuleContext(SubscriptContext.class,i);
}
public List COMMA() { return getTokens(Python335Parser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(Python335Parser.COMMA, i);
}
public SubscriptlistContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_subscriptlist; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterSubscriptlist(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitSubscriptlist(this);
}
}
public final SubscriptlistContext subscriptlist() throws RecognitionException {
SubscriptlistContext _localctx = new SubscriptlistContext(_ctx, getState());
enterRule(_localctx, 134, RULE_subscriptlist);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(884);
subscript();
setState(889);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,117,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(885);
match(COMMA);
setState(886);
subscript();
}
}
}
setState(891);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,117,_ctx);
}
setState(893);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(892);
match(COMMA);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class SubscriptContext extends ParserRuleContext {
public List test() {
return getRuleContexts(TestContext.class);
}
public TestContext test(int i) {
return getRuleContext(TestContext.class,i);
}
public TerminalNode COLON() { return getToken(Python335Parser.COLON, 0); }
public SliceopContext sliceop() {
return getRuleContext(SliceopContext.class,0);
}
public SubscriptContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_subscript; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterSubscript(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitSubscript(this);
}
}
public final SubscriptContext subscript() throws RecognitionException {
SubscriptContext _localctx = new SubscriptContext(_ctx, getState());
enterRule(_localctx, 136, RULE_subscript);
int _la;
try {
setState(906);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,122,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(895);
test();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(897);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 20)) & ~0x3f) == 0 && ((1L << (_la - 20)) & ((1L << (LAMBDA - 20)) | (1L << (NOT - 20)) | (1L << (NONE - 20)) | (1L << (TRUE - 20)) | (1L << (FALSE - 20)) | (1L << (NAME - 20)) | (1L << (STRING_LITERAL - 20)) | (1L << (BYTES_LITERAL - 20)) | (1L << (DECIMAL_INTEGER - 20)) | (1L << (OCT_INTEGER - 20)) | (1L << (HEX_INTEGER - 20)) | (1L << (BIN_INTEGER - 20)) | (1L << (FLOAT_NUMBER - 20)) | (1L << (IMAG_NUMBER - 20)) | (1L << (ELLIPSIS - 20)) | (1L << (STAR - 20)) | (1L << (OPEN_PAREN - 20)) | (1L << (OPEN_BRACK - 20)) | (1L << (ADD - 20)) | (1L << (MINUS - 20)) | (1L << (NOT_OP - 20)) | (1L << (OPEN_BRACE - 20)))) != 0)) {
{
setState(896);
test();
}
}
setState(899);
match(COLON);
setState(901);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 20)) & ~0x3f) == 0 && ((1L << (_la - 20)) & ((1L << (LAMBDA - 20)) | (1L << (NOT - 20)) | (1L << (NONE - 20)) | (1L << (TRUE - 20)) | (1L << (FALSE - 20)) | (1L << (NAME - 20)) | (1L << (STRING_LITERAL - 20)) | (1L << (BYTES_LITERAL - 20)) | (1L << (DECIMAL_INTEGER - 20)) | (1L << (OCT_INTEGER - 20)) | (1L << (HEX_INTEGER - 20)) | (1L << (BIN_INTEGER - 20)) | (1L << (FLOAT_NUMBER - 20)) | (1L << (IMAG_NUMBER - 20)) | (1L << (ELLIPSIS - 20)) | (1L << (STAR - 20)) | (1L << (OPEN_PAREN - 20)) | (1L << (OPEN_BRACK - 20)) | (1L << (ADD - 20)) | (1L << (MINUS - 20)) | (1L << (NOT_OP - 20)) | (1L << (OPEN_BRACE - 20)))) != 0)) {
{
setState(900);
test();
}
}
setState(904);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COLON) {
{
setState(903);
sliceop();
}
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class SliceopContext extends ParserRuleContext {
public TerminalNode COLON() { return getToken(Python335Parser.COLON, 0); }
public TestContext test() {
return getRuleContext(TestContext.class,0);
}
public SliceopContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_sliceop; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterSliceop(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitSliceop(this);
}
}
public final SliceopContext sliceop() throws RecognitionException {
SliceopContext _localctx = new SliceopContext(_ctx, getState());
enterRule(_localctx, 138, RULE_sliceop);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(908);
match(COLON);
setState(910);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 20)) & ~0x3f) == 0 && ((1L << (_la - 20)) & ((1L << (LAMBDA - 20)) | (1L << (NOT - 20)) | (1L << (NONE - 20)) | (1L << (TRUE - 20)) | (1L << (FALSE - 20)) | (1L << (NAME - 20)) | (1L << (STRING_LITERAL - 20)) | (1L << (BYTES_LITERAL - 20)) | (1L << (DECIMAL_INTEGER - 20)) | (1L << (OCT_INTEGER - 20)) | (1L << (HEX_INTEGER - 20)) | (1L << (BIN_INTEGER - 20)) | (1L << (FLOAT_NUMBER - 20)) | (1L << (IMAG_NUMBER - 20)) | (1L << (ELLIPSIS - 20)) | (1L << (STAR - 20)) | (1L << (OPEN_PAREN - 20)) | (1L << (OPEN_BRACK - 20)) | (1L << (ADD - 20)) | (1L << (MINUS - 20)) | (1L << (NOT_OP - 20)) | (1L << (OPEN_BRACE - 20)))) != 0)) {
{
setState(909);
test();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ExprlistContext extends ParserRuleContext {
public List star_expr() {
return getRuleContexts(Star_exprContext.class);
}
public Star_exprContext star_expr(int i) {
return getRuleContext(Star_exprContext.class,i);
}
public List COMMA() { return getTokens(Python335Parser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(Python335Parser.COMMA, i);
}
public ExprlistContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_exprlist; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterExprlist(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitExprlist(this);
}
}
public final ExprlistContext exprlist() throws RecognitionException {
ExprlistContext _localctx = new ExprlistContext(_ctx, getState());
enterRule(_localctx, 140, RULE_exprlist);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(912);
star_expr();
setState(917);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,124,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(913);
match(COMMA);
setState(914);
star_expr();
}
}
}
setState(919);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,124,_ctx);
}
setState(921);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(920);
match(COMMA);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class TestlistContext extends ParserRuleContext {
public List test() {
return getRuleContexts(TestContext.class);
}
public TestContext test(int i) {
return getRuleContext(TestContext.class,i);
}
public List COMMA() { return getTokens(Python335Parser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(Python335Parser.COMMA, i);
}
public TestlistContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_testlist; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterTestlist(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitTestlist(this);
}
}
public final TestlistContext testlist() throws RecognitionException {
TestlistContext _localctx = new TestlistContext(_ctx, getState());
enterRule(_localctx, 142, RULE_testlist);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(923);
test();
setState(928);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,126,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(924);
match(COMMA);
setState(925);
test();
}
}
}
setState(930);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,126,_ctx);
}
setState(932);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(931);
match(COMMA);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DictorsetmakerContext extends ParserRuleContext {
public List test() {
return getRuleContexts(TestContext.class);
}
public TestContext test(int i) {
return getRuleContext(TestContext.class,i);
}
public List COLON() { return getTokens(Python335Parser.COLON); }
public TerminalNode COLON(int i) {
return getToken(Python335Parser.COLON, i);
}
public Comp_forContext comp_for() {
return getRuleContext(Comp_forContext.class,0);
}
public List COMMA() { return getTokens(Python335Parser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(Python335Parser.COMMA, i);
}
public DictorsetmakerContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dictorsetmaker; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterDictorsetmaker(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitDictorsetmaker(this);
}
}
public final DictorsetmakerContext dictorsetmaker() throws RecognitionException {
DictorsetmakerContext _localctx = new DictorsetmakerContext(_ctx, getState());
enterRule(_localctx, 144, RULE_dictorsetmaker);
int _la;
try {
int _alt;
setState(967);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,134,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(934);
test();
setState(935);
match(COLON);
setState(936);
test();
setState(951);
_errHandler.sync(this);
switch (_input.LA(1)) {
case FOR:
{
setState(937);
comp_for();
}
break;
case COMMA:
case CLOSE_BRACE:
{
setState(945);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,128,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(938);
match(COMMA);
setState(939);
test();
setState(940);
match(COLON);
setState(941);
test();
}
}
}
setState(947);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,128,_ctx);
}
setState(949);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(948);
match(COMMA);
}
}
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(953);
test();
setState(965);
_errHandler.sync(this);
switch (_input.LA(1)) {
case FOR:
{
setState(954);
comp_for();
}
break;
case COMMA:
case CLOSE_BRACE:
{
setState(959);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,131,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(955);
match(COMMA);
setState(956);
test();
}
}
}
setState(961);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,131,_ctx);
}
setState(963);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(962);
match(COMMA);
}
}
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ClassdefContext extends ParserRuleContext {
public TerminalNode CLASS() { return getToken(Python335Parser.CLASS, 0); }
public TerminalNode NAME() { return getToken(Python335Parser.NAME, 0); }
public TerminalNode COLON() { return getToken(Python335Parser.COLON, 0); }
public SuiteContext suite() {
return getRuleContext(SuiteContext.class,0);
}
public TerminalNode OPEN_PAREN() { return getToken(Python335Parser.OPEN_PAREN, 0); }
public TerminalNode CLOSE_PAREN() { return getToken(Python335Parser.CLOSE_PAREN, 0); }
public ArglistContext arglist() {
return getRuleContext(ArglistContext.class,0);
}
public ClassdefContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_classdef; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterClassdef(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitClassdef(this);
}
}
public final ClassdefContext classdef() throws RecognitionException {
ClassdefContext _localctx = new ClassdefContext(_ctx, getState());
enterRule(_localctx, 146, RULE_classdef);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(969);
match(CLASS);
setState(970);
match(NAME);
setState(976);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==OPEN_PAREN) {
{
setState(971);
match(OPEN_PAREN);
setState(973);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 20)) & ~0x3f) == 0 && ((1L << (_la - 20)) & ((1L << (LAMBDA - 20)) | (1L << (NOT - 20)) | (1L << (NONE - 20)) | (1L << (TRUE - 20)) | (1L << (FALSE - 20)) | (1L << (NAME - 20)) | (1L << (STRING_LITERAL - 20)) | (1L << (BYTES_LITERAL - 20)) | (1L << (DECIMAL_INTEGER - 20)) | (1L << (OCT_INTEGER - 20)) | (1L << (HEX_INTEGER - 20)) | (1L << (BIN_INTEGER - 20)) | (1L << (FLOAT_NUMBER - 20)) | (1L << (IMAG_NUMBER - 20)) | (1L << (ELLIPSIS - 20)) | (1L << (STAR - 20)) | (1L << (OPEN_PAREN - 20)) | (1L << (POWER - 20)) | (1L << (OPEN_BRACK - 20)) | (1L << (ADD - 20)) | (1L << (MINUS - 20)) | (1L << (NOT_OP - 20)) | (1L << (OPEN_BRACE - 20)))) != 0)) {
{
setState(972);
arglist();
}
}
setState(975);
match(CLOSE_PAREN);
}
}
setState(978);
match(COLON);
setState(979);
suite();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ArglistContext extends ParserRuleContext {
public List argument() {
return getRuleContexts(ArgumentContext.class);
}
public ArgumentContext argument(int i) {
return getRuleContext(ArgumentContext.class,i);
}
public TerminalNode STAR() { return getToken(Python335Parser.STAR, 0); }
public List test() {
return getRuleContexts(TestContext.class);
}
public TestContext test(int i) {
return getRuleContext(TestContext.class,i);
}
public TerminalNode POWER() { return getToken(Python335Parser.POWER, 0); }
public List COMMA() { return getTokens(Python335Parser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(Python335Parser.COMMA, i);
}
public ArglistContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_arglist; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterArglist(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitArglist(this);
}
}
public final ArglistContext arglist() throws RecognitionException {
ArglistContext _localctx = new ArglistContext(_ctx, getState());
enterRule(_localctx, 148, RULE_arglist);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(986);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,137,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(981);
argument();
setState(982);
match(COMMA);
}
}
}
setState(988);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,137,_ctx);
}
setState(1009);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,141,_ctx) ) {
case 1:
{
setState(989);
argument();
setState(991);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(990);
match(COMMA);
}
}
}
break;
case 2:
{
setState(993);
match(STAR);
setState(994);
test();
setState(999);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,139,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(995);
match(COMMA);
setState(996);
argument();
}
}
}
setState(1001);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,139,_ctx);
}
setState(1005);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA) {
{
setState(1002);
match(COMMA);
setState(1003);
match(POWER);
setState(1004);
test();
}
}
}
break;
case 3:
{
setState(1007);
match(POWER);
setState(1008);
test();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ArgumentContext extends ParserRuleContext {
public List test() {
return getRuleContexts(TestContext.class);
}
public TestContext test(int i) {
return getRuleContext(TestContext.class,i);
}
public Comp_forContext comp_for() {
return getRuleContext(Comp_forContext.class,0);
}
public TerminalNode ASSIGN() { return getToken(Python335Parser.ASSIGN, 0); }
public ArgumentContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_argument; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterArgument(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitArgument(this);
}
}
public final ArgumentContext argument() throws RecognitionException {
ArgumentContext _localctx = new ArgumentContext(_ctx, getState());
enterRule(_localctx, 150, RULE_argument);
int _la;
try {
setState(1019);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,143,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1011);
test();
setState(1013);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==FOR) {
{
setState(1012);
comp_for();
}
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1015);
test();
setState(1016);
match(ASSIGN);
setState(1017);
test();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Comp_iterContext extends ParserRuleContext {
public Comp_forContext comp_for() {
return getRuleContext(Comp_forContext.class,0);
}
public Comp_ifContext comp_if() {
return getRuleContext(Comp_ifContext.class,0);
}
public Comp_iterContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_comp_iter; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterComp_iter(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitComp_iter(this);
}
}
public final Comp_iterContext comp_iter() throws RecognitionException {
Comp_iterContext _localctx = new Comp_iterContext(_ctx, getState());
enterRule(_localctx, 152, RULE_comp_iter);
try {
setState(1023);
_errHandler.sync(this);
switch (_input.LA(1)) {
case FOR:
enterOuterAlt(_localctx, 1);
{
setState(1021);
comp_for();
}
break;
case IF:
enterOuterAlt(_localctx, 2);
{
setState(1022);
comp_if();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Comp_forContext extends ParserRuleContext {
public TerminalNode FOR() { return getToken(Python335Parser.FOR, 0); }
public ExprlistContext exprlist() {
return getRuleContext(ExprlistContext.class,0);
}
public TerminalNode IN() { return getToken(Python335Parser.IN, 0); }
public Or_testContext or_test() {
return getRuleContext(Or_testContext.class,0);
}
public Comp_iterContext comp_iter() {
return getRuleContext(Comp_iterContext.class,0);
}
public Comp_forContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_comp_for; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterComp_for(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitComp_for(this);
}
}
public final Comp_forContext comp_for() throws RecognitionException {
Comp_forContext _localctx = new Comp_forContext(_ctx, getState());
enterRule(_localctx, 154, RULE_comp_for);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1025);
match(FOR);
setState(1026);
exprlist();
setState(1027);
match(IN);
setState(1028);
or_test();
setState(1030);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF || _la==FOR) {
{
setState(1029);
comp_iter();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Comp_ifContext extends ParserRuleContext {
public TerminalNode IF() { return getToken(Python335Parser.IF, 0); }
public Test_nocondContext test_nocond() {
return getRuleContext(Test_nocondContext.class,0);
}
public Comp_iterContext comp_iter() {
return getRuleContext(Comp_iterContext.class,0);
}
public Comp_ifContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_comp_if; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterComp_if(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitComp_if(this);
}
}
public final Comp_ifContext comp_if() throws RecognitionException {
Comp_ifContext _localctx = new Comp_ifContext(_ctx, getState());
enterRule(_localctx, 156, RULE_comp_if);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1032);
match(IF);
setState(1033);
test_nocond();
setState(1035);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF || _la==FOR) {
{
setState(1034);
comp_iter();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Yield_exprContext extends ParserRuleContext {
public TerminalNode YIELD() { return getToken(Python335Parser.YIELD, 0); }
public Yield_argContext yield_arg() {
return getRuleContext(Yield_argContext.class,0);
}
public Yield_exprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_yield_expr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterYield_expr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitYield_expr(this);
}
}
public final Yield_exprContext yield_expr() throws RecognitionException {
Yield_exprContext _localctx = new Yield_exprContext(_ctx, getState());
enterRule(_localctx, 158, RULE_yield_expr);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1037);
match(YIELD);
setState(1039);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 4)) & ~0x3f) == 0 && ((1L << (_la - 4)) & ((1L << (FROM - 4)) | (1L << (LAMBDA - 4)) | (1L << (NOT - 4)) | (1L << (NONE - 4)) | (1L << (TRUE - 4)) | (1L << (FALSE - 4)) | (1L << (NAME - 4)) | (1L << (STRING_LITERAL - 4)) | (1L << (BYTES_LITERAL - 4)) | (1L << (DECIMAL_INTEGER - 4)) | (1L << (OCT_INTEGER - 4)) | (1L << (HEX_INTEGER - 4)) | (1L << (BIN_INTEGER - 4)) | (1L << (FLOAT_NUMBER - 4)) | (1L << (IMAG_NUMBER - 4)) | (1L << (ELLIPSIS - 4)) | (1L << (STAR - 4)) | (1L << (OPEN_PAREN - 4)) | (1L << (OPEN_BRACK - 4)) | (1L << (ADD - 4)) | (1L << (MINUS - 4)) | (1L << (NOT_OP - 4)) | (1L << (OPEN_BRACE - 4)))) != 0)) {
{
setState(1038);
yield_arg();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class Yield_argContext extends ParserRuleContext {
public TerminalNode FROM() { return getToken(Python335Parser.FROM, 0); }
public TestContext test() {
return getRuleContext(TestContext.class,0);
}
public TestlistContext testlist() {
return getRuleContext(TestlistContext.class,0);
}
public Yield_argContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_yield_arg; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterYield_arg(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitYield_arg(this);
}
}
public final Yield_argContext yield_arg() throws RecognitionException {
Yield_argContext _localctx = new Yield_argContext(_ctx, getState());
enterRule(_localctx, 160, RULE_yield_arg);
try {
setState(1044);
_errHandler.sync(this);
switch (_input.LA(1)) {
case FROM:
enterOuterAlt(_localctx, 1);
{
setState(1041);
match(FROM);
setState(1042);
test();
}
break;
case LAMBDA:
case NOT:
case NONE:
case TRUE:
case FALSE:
case NAME:
case STRING_LITERAL:
case BYTES_LITERAL:
case DECIMAL_INTEGER:
case OCT_INTEGER:
case HEX_INTEGER:
case BIN_INTEGER:
case FLOAT_NUMBER:
case IMAG_NUMBER:
case ELLIPSIS:
case STAR:
case OPEN_PAREN:
case OPEN_BRACK:
case ADD:
case MINUS:
case NOT_OP:
case OPEN_BRACE:
enterOuterAlt(_localctx, 2);
{
setState(1043);
testlist();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class StrContext extends ParserRuleContext {
public TerminalNode STRING_LITERAL() { return getToken(Python335Parser.STRING_LITERAL, 0); }
public TerminalNode BYTES_LITERAL() { return getToken(Python335Parser.BYTES_LITERAL, 0); }
public StrContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_str; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterStr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitStr(this);
}
}
public final StrContext str() throws RecognitionException {
StrContext _localctx = new StrContext(_ctx, getState());
enterRule(_localctx, 162, RULE_str);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1046);
_la = _input.LA(1);
if ( !(_la==STRING_LITERAL || _la==BYTES_LITERAL) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class NumberContext extends ParserRuleContext {
public IntegerContext integer() {
return getRuleContext(IntegerContext.class,0);
}
public TerminalNode FLOAT_NUMBER() { return getToken(Python335Parser.FLOAT_NUMBER, 0); }
public TerminalNode IMAG_NUMBER() { return getToken(Python335Parser.IMAG_NUMBER, 0); }
public NumberContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_number; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterNumber(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitNumber(this);
}
}
public final NumberContext number() throws RecognitionException {
NumberContext _localctx = new NumberContext(_ctx, getState());
enterRule(_localctx, 164, RULE_number);
try {
setState(1051);
_errHandler.sync(this);
switch (_input.LA(1)) {
case DECIMAL_INTEGER:
case OCT_INTEGER:
case HEX_INTEGER:
case BIN_INTEGER:
enterOuterAlt(_localctx, 1);
{
setState(1048);
integer();
}
break;
case FLOAT_NUMBER:
enterOuterAlt(_localctx, 2);
{
setState(1049);
match(FLOAT_NUMBER);
}
break;
case IMAG_NUMBER:
enterOuterAlt(_localctx, 3);
{
setState(1050);
match(IMAG_NUMBER);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class IntegerContext extends ParserRuleContext {
public TerminalNode DECIMAL_INTEGER() { return getToken(Python335Parser.DECIMAL_INTEGER, 0); }
public TerminalNode OCT_INTEGER() { return getToken(Python335Parser.OCT_INTEGER, 0); }
public TerminalNode HEX_INTEGER() { return getToken(Python335Parser.HEX_INTEGER, 0); }
public TerminalNode BIN_INTEGER() { return getToken(Python335Parser.BIN_INTEGER, 0); }
public IntegerContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_integer; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).enterInteger(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof Python335Listener ) ((Python335Listener)listener).exitInteger(this);
}
}
public final IntegerContext integer() throws RecognitionException {
IntegerContext _localctx = new IntegerContext(_ctx, getState());
enterRule(_localctx, 166, RULE_integer);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1053);
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << DECIMAL_INTEGER) | (1L << OCT_INTEGER) | (1L << HEX_INTEGER) | (1L << BIN_INTEGER))) != 0)) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static final String _serializedATN =
"\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3`\u0422\4\2\t\2\4"+
"\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t"+
"\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+
"\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+
"\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+
"\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+
",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+
"\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+
"\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+
"\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+
"\4U\tU\3\2\3\2\3\2\3\2\3\2\5\2\u00b0\n\2\3\3\3\3\7\3\u00b4\n\3\f\3\16"+
"\3\u00b7\13\3\3\3\3\3\3\4\3\4\7\4\u00bd\n\4\f\4\16\4\u00c0\13\4\3\4\3"+
"\4\3\5\3\5\3\5\3\5\5\5\u00c8\n\5\3\5\5\5\u00cb\n\5\3\5\3\5\3\6\6\6\u00d0"+
"\n\6\r\6\16\6\u00d1\3\7\3\7\3\7\5\7\u00d7\n\7\3\b\3\b\3\b\3\b\3\b\5\b"+
"\u00de\n\b\3\b\3\b\3\b\3\t\3\t\5\t\u00e5\n\t\3\t\3\t\3\n\3\n\3\n\5\n\u00ec"+
"\n\n\3\n\3\n\3\n\3\n\5\n\u00f2\n\n\7\n\u00f4\n\n\f\n\16\n\u00f7\13\n\3"+
"\n\3\n\3\n\5\n\u00fc\n\n\3\n\3\n\3\n\3\n\5\n\u0102\n\n\7\n\u0104\n\n\f"+
"\n\16\n\u0107\13\n\3\n\3\n\3\n\5\n\u010c\n\n\3\n\3\n\5\n\u0110\n\n\5\n"+
"\u0112\n\n\3\n\3\n\5\n\u0116\n\n\3\n\3\n\3\n\3\n\5\n\u011c\n\n\7\n\u011e"+
"\n\n\f\n\16\n\u0121\13\n\3\n\3\n\3\n\5\n\u0126\n\n\3\n\3\n\5\n\u012a\n"+
"\n\3\13\3\13\3\13\5\13\u012f\n\13\3\f\3\f\3\f\5\f\u0134\n\f\3\f\3\f\3"+
"\f\3\f\5\f\u013a\n\f\7\f\u013c\n\f\f\f\16\f\u013f\13\f\3\f\3\f\3\f\5\f"+
"\u0144\n\f\3\f\3\f\3\f\3\f\5\f\u014a\n\f\7\f\u014c\n\f\f\f\16\f\u014f"+
"\13\f\3\f\3\f\3\f\5\f\u0154\n\f\3\f\3\f\5\f\u0158\n\f\5\f\u015a\n\f\3"+
"\f\3\f\5\f\u015e\n\f\3\f\3\f\3\f\3\f\5\f\u0164\n\f\7\f\u0166\n\f\f\f\16"+
"\f\u0169\13\f\3\f\3\f\3\f\5\f\u016e\n\f\3\f\3\f\5\f\u0172\n\f\3\r\3\r"+
"\3\16\3\16\5\16\u0178\n\16\3\17\3\17\3\17\7\17\u017d\n\17\f\17\16\17\u0180"+
"\13\17\3\17\5\17\u0183\n\17\3\17\3\17\3\20\3\20\3\20\3\20\3\20\3\20\3"+
"\20\3\20\5\20\u018f\n\20\3\21\3\21\3\21\3\21\5\21\u0195\n\21\3\21\3\21"+
"\3\21\5\21\u019a\n\21\7\21\u019c\n\21\f\21\16\21\u019f\13\21\5\21\u01a1"+
"\n\21\3\22\3\22\5\22\u01a5\n\22\3\22\3\22\3\22\5\22\u01aa\n\22\7\22\u01ac"+
"\n\22\f\22\16\22\u01af\13\22\3\22\5\22\u01b2\n\22\3\23\3\23\3\24\3\24"+
"\3\24\3\25\3\25\3\26\3\26\3\26\3\26\3\26\5\26\u01c0\n\26\3\27\3\27\3\30"+
"\3\30\3\31\3\31\5\31\u01c8\n\31\3\32\3\32\3\33\3\33\3\33\3\33\5\33\u01d0"+
"\n\33\5\33\u01d2\n\33\3\34\3\34\5\34\u01d6\n\34\3\35\3\35\3\35\3\36\3"+
"\36\7\36\u01dd\n\36\f\36\16\36\u01e0\13\36\3\36\3\36\6\36\u01e4\n\36\r"+
"\36\16\36\u01e5\5\36\u01e8\n\36\3\36\3\36\3\36\3\36\3\36\3\36\3\36\5\36"+
"\u01f1\n\36\3\37\3\37\3\37\5\37\u01f6\n\37\3 \3 \3 \5 \u01fb\n \3!\3!"+
"\3!\7!\u0200\n!\f!\16!\u0203\13!\3!\5!\u0206\n!\3\"\3\"\3\"\7\"\u020b"+
"\n\"\f\"\16\"\u020e\13\"\3#\3#\3#\7#\u0213\n#\f#\16#\u0216\13#\3$\3$\3"+
"$\3$\7$\u021c\n$\f$\16$\u021f\13$\3%\3%\3%\3%\7%\u0225\n%\f%\16%\u0228"+
"\13%\3&\3&\3&\3&\5&\u022e\n&\3\'\3\'\3\'\3\'\3\'\3\'\3\'\3\'\5\'\u0238"+
"\n\'\3(\3(\3(\3(\3(\3(\3(\3(\3(\7(\u0243\n(\f(\16(\u0246\13(\3(\3(\3("+
"\5(\u024b\n(\3)\3)\3)\3)\3)\3)\3)\5)\u0254\n)\3*\3*\3*\3*\3*\3*\3*\3*"+
"\3*\5*\u025f\n*\3+\3+\3+\3+\3+\3+\3+\6+\u0268\n+\r+\16+\u0269\3+\3+\3"+
"+\5+\u026f\n+\3+\3+\3+\5+\u0274\n+\3+\3+\3+\5+\u0279\n+\3,\3,\3,\3,\7"+
",\u027f\n,\f,\16,\u0282\13,\3,\3,\3,\3-\3-\3-\5-\u028a\n-\3.\3.\3.\3."+
"\5.\u0290\n.\5.\u0292\n.\3/\3/\3/\3/\6/\u0298\n/\r/\16/\u0299\3/\3/\5"+
"/\u029e\n/\3\60\3\60\3\60\3\60\3\60\3\60\5\60\u02a6\n\60\3\60\5\60\u02a9"+
"\n\60\3\61\3\61\5\61\u02ad\n\61\3\62\3\62\5\62\u02b1\n\62\3\62\3\62\3"+
"\62\3\63\3\63\5\63\u02b8\n\63\3\63\3\63\3\63\3\64\3\64\3\64\7\64\u02c0"+
"\n\64\f\64\16\64\u02c3\13\64\3\65\3\65\3\65\7\65\u02c8\n\65\f\65\16\65"+
"\u02cb\13\65\3\66\3\66\3\66\5\66\u02d0\n\66\3\67\3\67\3\67\3\67\7\67\u02d6"+
"\n\67\f\67\16\67\u02d9\13\67\38\38\38\38\38\38\38\38\38\38\38\38\38\5"+
"8\u02e8\n8\39\59\u02eb\n9\39\39\3:\3:\3:\7:\u02f2\n:\f:\16:\u02f5\13:"+
"\3;\3;\3;\7;\u02fa\n;\f;\16;\u02fd\13;\3<\3<\3<\7<\u0302\n<\f<\16<\u0305"+
"\13<\3=\3=\3=\3=\3=\7=\u030c\n=\f=\16=\u030f\13=\3>\3>\3>\3>\3>\7>\u0316"+
"\n>\f>\16>\u0319\13>\3?\3?\3?\3?\3?\3?\3?\3?\3?\3?\3?\7?\u0326\n?\f?\16"+
"?\u0329\13?\3@\3@\3@\3@\3@\3@\3@\5@\u0332\n@\3A\3A\7A\u0336\nA\fA\16A"+
"\u0339\13A\3A\3A\5A\u033d\nA\3B\3B\3B\5B\u0342\nB\3B\3B\3B\5B\u0347\n"+
"B\3B\3B\3B\5B\u034c\nB\3B\3B\3B\3B\6B\u0352\nB\rB\16B\u0353\3B\3B\3B\3"+
"B\5B\u035a\nB\3C\3C\3C\3C\7C\u0360\nC\fC\16C\u0363\13C\3C\5C\u0366\nC"+
"\5C\u0368\nC\3D\3D\5D\u036c\nD\3D\3D\3D\3D\3D\3D\3D\5D\u0375\nD\3E\3E"+
"\3E\7E\u037a\nE\fE\16E\u037d\13E\3E\5E\u0380\nE\3F\3F\5F\u0384\nF\3F\3"+
"F\5F\u0388\nF\3F\5F\u038b\nF\5F\u038d\nF\3G\3G\5G\u0391\nG\3H\3H\3H\7"+
"H\u0396\nH\fH\16H\u0399\13H\3H\5H\u039c\nH\3I\3I\3I\7I\u03a1\nI\fI\16"+
"I\u03a4\13I\3I\5I\u03a7\nI\3J\3J\3J\3J\3J\3J\3J\3J\3J\7J\u03b2\nJ\fJ\16"+
"J\u03b5\13J\3J\5J\u03b8\nJ\5J\u03ba\nJ\3J\3J\3J\3J\7J\u03c0\nJ\fJ\16J"+
"\u03c3\13J\3J\5J\u03c6\nJ\5J\u03c8\nJ\5J\u03ca\nJ\3K\3K\3K\3K\5K\u03d0"+
"\nK\3K\5K\u03d3\nK\3K\3K\3K\3L\3L\3L\7L\u03db\nL\fL\16L\u03de\13L\3L\3"+
"L\5L\u03e2\nL\3L\3L\3L\3L\7L\u03e8\nL\fL\16L\u03eb\13L\3L\3L\3L\5L\u03f0"+
"\nL\3L\3L\5L\u03f4\nL\3M\3M\5M\u03f8\nM\3M\3M\3M\3M\5M\u03fe\nM\3N\3N"+
"\5N\u0402\nN\3O\3O\3O\3O\3O\5O\u0409\nO\3P\3P\3P\5P\u040e\nP\3Q\3Q\5Q"+
"\u0412\nQ\3R\3R\3R\5R\u0417\nR\3S\3S\3T\3T\3T\5T\u041e\nT\3U\3U\3U\2\2"+
"V\2\4\6\b\n\f\16\20\22\24\26\30\32\34\36 \"$&(*,.\60\62\64\668:<>@BDF"+
"HJLNPRTVXZ\\^`bdfhjlnprtvxz|~\u0080\u0082\u0084\u0086\u0088\u008a\u008c"+
"\u008e\u0090\u0092\u0094\u0096\u0098\u009a\u009c\u009e\u00a0\u00a2\u00a4"+
"\u00a6\u00a8\2\6\3\2P\\\3\2./\3\2&\'\3\2(+\2\u0492\2\u00af\3\2\2\2\4\u00b5"+
"\3\2\2\2\6\u00ba\3\2\2\2\b\u00c3\3\2\2\2\n\u00cf\3\2\2\2\f\u00d3\3\2\2"+
"\2\16\u00d8\3\2\2\2\20\u00e2\3\2\2\2\22\u0129\3\2\2\2\24\u012b\3\2\2\2"+
"\26\u0171\3\2\2\2\30\u0173\3\2\2\2\32\u0177\3\2\2\2\34\u0179\3\2\2\2\36"+
"\u018e\3\2\2\2 \u0190\3\2\2\2\"\u01a4\3\2\2\2$\u01b3\3\2\2\2&\u01b5\3"+
"\2\2\2(\u01b8\3\2\2\2*\u01bf\3\2\2\2,\u01c1\3\2\2\2.\u01c3\3\2\2\2\60"+
"\u01c5\3\2\2\2\62\u01c9\3\2\2\2\64\u01cb\3\2\2\2\66\u01d5\3\2\2\28\u01d7"+
"\3\2\2\2:\u01da\3\2\2\2<\u01f2\3\2\2\2>\u01f7\3\2\2\2@\u01fc\3\2\2\2B"+
"\u0207\3\2\2\2D\u020f\3\2\2\2F\u0217\3\2\2\2H\u0220\3\2\2\2J\u0229\3\2"+
"\2\2L\u0237\3\2\2\2N\u0239\3\2\2\2P\u024c\3\2\2\2R\u0255\3\2\2\2T\u0260"+
"\3\2\2\2V\u027a\3\2\2\2X\u0286\3\2\2\2Z\u028b\3\2\2\2\\\u029d\3\2\2\2"+
"^\u02a8\3\2\2\2`\u02ac\3\2\2\2b\u02ae\3\2\2\2d\u02b5\3\2\2\2f\u02bc\3"+
"\2\2\2h\u02c4\3\2\2\2j\u02cf\3\2\2\2l\u02d1\3\2\2\2n\u02e7\3\2\2\2p\u02ea"+
"\3\2\2\2r\u02ee\3\2\2\2t\u02f6\3\2\2\2v\u02fe\3\2\2\2x\u0306\3\2\2\2z"+
"\u0310\3\2\2\2|\u031a\3\2\2\2~\u0331\3\2\2\2\u0080\u0333\3\2\2\2\u0082"+
"\u0359\3\2\2\2\u0084\u035b\3\2\2\2\u0086\u0374\3\2\2\2\u0088\u0376\3\2"+
"\2\2\u008a\u038c\3\2\2\2\u008c\u038e\3\2\2\2\u008e\u0392\3\2\2\2\u0090"+
"\u039d\3\2\2\2\u0092\u03c9\3\2\2\2\u0094\u03cb\3\2\2\2\u0096\u03dc\3\2"+
"\2\2\u0098\u03fd\3\2\2\2\u009a\u0401\3\2\2\2\u009c\u0403\3\2\2\2\u009e"+
"\u040a\3\2\2\2\u00a0\u040f\3\2\2\2\u00a2\u0416\3\2\2\2\u00a4\u0418\3\2"+
"\2\2\u00a6\u041d\3\2\2\2\u00a8\u041f\3\2\2\2\u00aa\u00b0\7$\2\2\u00ab"+
"\u00b0\5\34\17\2\u00ac\u00ad\5L\'\2\u00ad\u00ae\7$\2\2\u00ae\u00b0\3\2"+
"\2\2\u00af\u00aa\3\2\2\2\u00af\u00ab\3\2\2\2\u00af\u00ac\3\2\2\2\u00b0"+
"\3\3\2\2\2\u00b1\u00b4\7$\2\2\u00b2\u00b4\5\32\16\2\u00b3\u00b1\3\2\2"+
"\2\u00b3\u00b2\3\2\2\2\u00b4\u00b7\3\2\2\2\u00b5\u00b3\3\2\2\2\u00b5\u00b6"+
"\3\2\2\2\u00b6\u00b8\3\2\2\2\u00b7\u00b5\3\2\2\2\u00b8\u00b9\7\2\2\3\u00b9"+
"\5\3\2\2\2\u00ba\u00be\5\u0090I\2\u00bb\u00bd\7$\2\2\u00bc\u00bb\3\2\2"+
"\2\u00bd\u00c0\3\2\2\2\u00be\u00bc\3\2\2\2\u00be\u00bf\3\2\2\2\u00bf\u00c1"+
"\3\2\2\2\u00c0\u00be\3\2\2\2\u00c1\u00c2\7\2\2\3\u00c2\7\3\2\2\2\u00c3"+
"\u00c4\7N\2\2\u00c4\u00ca\5D#\2\u00c5\u00c7\7\61\2\2\u00c6\u00c8\5\u0096"+
"L\2\u00c7\u00c6\3\2\2\2\u00c7\u00c8\3\2\2\2\u00c8\u00c9\3\2\2\2\u00c9"+
"\u00cb\7\62\2\2\u00ca\u00c5\3\2\2\2\u00ca\u00cb\3\2\2\2\u00cb\u00cc\3"+
"\2\2\2\u00cc\u00cd\7$\2\2\u00cd\t\3\2\2\2\u00ce\u00d0\5\b\5\2\u00cf\u00ce"+
"\3\2\2\2\u00d0\u00d1\3\2\2\2\u00d1\u00cf\3\2\2\2\u00d1\u00d2\3\2\2\2\u00d2"+
"\13\3\2\2\2\u00d3\u00d6\5\n\6\2\u00d4\u00d7\5\u0094K\2\u00d5\u00d7\5\16"+
"\b\2\u00d6\u00d4\3\2\2\2\u00d6\u00d5\3\2\2\2\u00d7\r\3\2\2\2\u00d8\u00d9"+
"\7\3\2\2\u00d9\u00da\7%\2\2\u00da\u00dd\5\20\t\2\u00db\u00dc\7O\2\2\u00dc"+
"\u00de\5^\60\2\u00dd\u00db\3\2\2\2\u00dd\u00de\3\2\2\2\u00de\u00df\3\2"+
"\2\2\u00df\u00e0\7\64\2\2\u00e0\u00e1\5\\/\2\u00e1\17\3\2\2\2\u00e2\u00e4"+
"\7\61\2\2\u00e3\u00e5\5\22\n\2\u00e4\u00e3\3\2\2\2\u00e4\u00e5\3\2\2\2"+
"\u00e5\u00e6\3\2\2\2\u00e6\u00e7\7\62\2\2\u00e7\21\3\2\2\2\u00e8\u00eb"+
"\5\24\13\2\u00e9\u00ea\7\67\2\2\u00ea\u00ec\5^\60\2\u00eb\u00e9\3\2\2"+
"\2\u00eb\u00ec\3\2\2\2\u00ec\u00f5\3\2\2\2\u00ed\u00ee\7\63\2\2\u00ee"+
"\u00f1\5\24\13\2\u00ef\u00f0\7\67\2\2\u00f0\u00f2\5^\60\2\u00f1\u00ef"+
"\3\2\2\2\u00f1\u00f2\3\2\2\2\u00f2\u00f4\3\2\2\2\u00f3\u00ed\3\2\2\2\u00f4"+
"\u00f7\3\2\2\2\u00f5\u00f3\3\2\2\2\u00f5\u00f6\3\2\2\2\u00f6\u0111\3\2"+
"\2\2\u00f7\u00f5\3\2\2\2\u00f8\u010f\7\63\2\2\u00f9\u00fb\7\60\2\2\u00fa"+
"\u00fc\5\24\13\2\u00fb\u00fa\3\2\2\2\u00fb\u00fc\3\2\2\2\u00fc\u0105\3"+
"\2\2\2\u00fd\u00fe\7\63\2\2\u00fe\u0101\5\24\13\2\u00ff\u0100\7\67\2\2"+
"\u0100\u0102\5^\60\2\u0101\u00ff\3\2\2\2\u0101\u0102\3\2\2\2\u0102\u0104"+
"\3\2\2\2\u0103\u00fd\3\2\2\2\u0104\u0107\3\2\2\2\u0105\u0103\3\2\2\2\u0105"+
"\u0106\3\2\2\2\u0106\u010b\3\2\2\2\u0107\u0105\3\2\2\2\u0108\u0109\7\63"+
"\2\2\u0109\u010a\7\66\2\2\u010a\u010c\5\24\13\2\u010b\u0108\3\2\2\2\u010b"+
"\u010c\3\2\2\2\u010c\u0110\3\2\2\2\u010d\u010e\7\66\2\2\u010e\u0110\5"+
"\24\13\2\u010f\u00f9\3\2\2\2\u010f\u010d\3\2\2\2\u010f\u0110\3\2\2\2\u0110"+
"\u0112\3\2\2\2\u0111\u00f8\3\2\2\2\u0111\u0112\3\2\2\2\u0112\u012a\3\2"+
"\2\2\u0113\u0115\7\60\2\2\u0114\u0116\5\24\13\2\u0115\u0114\3\2\2\2\u0115"+
"\u0116\3\2\2\2\u0116\u011f\3\2\2\2\u0117\u0118\7\63\2\2\u0118\u011b\5"+
"\24\13\2\u0119\u011a\7\67\2\2\u011a\u011c\5^\60\2\u011b\u0119\3\2\2\2"+
"\u011b\u011c\3\2\2\2\u011c\u011e\3\2\2\2\u011d\u0117\3\2\2\2\u011e\u0121"+
"\3\2\2\2\u011f\u011d\3\2\2\2\u011f\u0120\3\2\2\2\u0120\u0125\3\2\2\2\u0121"+
"\u011f\3\2\2\2\u0122\u0123\7\63\2\2\u0123\u0124\7\66\2\2\u0124\u0126\5"+
"\24\13\2\u0125\u0122\3\2\2\2\u0125\u0126\3\2\2\2\u0126\u012a\3\2\2\2\u0127"+
"\u0128\7\66\2\2\u0128\u012a\5\24\13\2\u0129\u00e8\3\2\2\2\u0129\u0113"+
"\3\2\2\2\u0129\u0127\3\2\2\2\u012a\23\3\2\2\2\u012b\u012e\7%\2\2\u012c"+
"\u012d\7\64\2\2\u012d\u012f\5^\60\2\u012e\u012c\3\2\2\2\u012e\u012f\3"+
"\2\2\2\u012f\25\3\2\2\2\u0130\u0133\5\30\r\2\u0131\u0132\7\67\2\2\u0132"+
"\u0134\5^\60\2\u0133\u0131\3\2\2\2\u0133\u0134\3\2\2\2\u0134\u013d\3\2"+
"\2\2\u0135\u0136\7\63\2\2\u0136\u0139\5\30\r\2\u0137\u0138\7\67\2\2\u0138"+
"\u013a\5^\60\2\u0139\u0137\3\2\2\2\u0139\u013a\3\2\2\2\u013a\u013c\3\2"+
"\2\2\u013b\u0135\3\2\2\2\u013c\u013f\3\2\2\2\u013d\u013b\3\2\2\2\u013d"+
"\u013e\3\2\2\2\u013e\u0159\3\2\2\2\u013f\u013d\3\2\2\2\u0140\u0157\7\63"+
"\2\2\u0141\u0143\7\60\2\2\u0142\u0144\5\30\r\2\u0143\u0142\3\2\2\2\u0143"+
"\u0144\3\2\2\2\u0144\u014d\3\2\2\2\u0145\u0146\7\63\2\2\u0146\u0149\5"+
"\30\r\2\u0147\u0148\7\67\2\2\u0148\u014a\5^\60\2\u0149\u0147\3\2\2\2\u0149"+
"\u014a\3\2\2\2\u014a\u014c\3\2\2\2\u014b\u0145\3\2\2\2\u014c\u014f\3\2"+
"\2\2\u014d\u014b\3\2\2\2\u014d\u014e\3\2\2\2\u014e\u0153\3\2\2\2\u014f"+
"\u014d\3\2\2\2\u0150\u0151\7\63\2\2\u0151\u0152\7\66\2\2\u0152\u0154\5"+
"\30\r\2\u0153\u0150\3\2\2\2\u0153\u0154\3\2\2\2\u0154\u0158\3\2\2\2\u0155"+
"\u0156\7\66\2\2\u0156\u0158\5\30\r\2\u0157\u0141\3\2\2\2\u0157\u0155\3"+
"\2\2\2\u0157\u0158\3\2\2\2\u0158\u015a\3\2\2\2\u0159\u0140\3\2\2\2\u0159"+
"\u015a\3\2\2\2\u015a\u0172\3\2\2\2\u015b\u015d\7\60\2\2\u015c\u015e\5"+
"\30\r\2\u015d\u015c\3\2\2\2\u015d\u015e\3\2\2\2\u015e\u0167\3\2\2\2\u015f"+
"\u0160\7\63\2\2\u0160\u0163\5\30\r\2\u0161\u0162\7\67\2\2\u0162\u0164"+
"\5^\60\2\u0163\u0161\3\2\2\2\u0163\u0164\3\2\2\2\u0164\u0166\3\2\2\2\u0165"+
"\u015f\3\2\2\2\u0166\u0169\3\2\2\2\u0167\u0165\3\2\2\2\u0167\u0168\3\2"+
"\2\2\u0168\u016d\3\2\2\2\u0169\u0167\3\2\2\2\u016a\u016b\7\63\2\2\u016b"+
"\u016c\7\66\2\2\u016c\u016e\5\30\r\2\u016d\u016a\3\2\2\2\u016d\u016e\3"+
"\2\2\2\u016e\u0172\3\2\2\2\u016f\u0170\7\66\2\2\u0170\u0172\5\30\r\2\u0171"+
"\u0130\3\2\2\2\u0171\u015b\3\2\2\2\u0171\u016f\3\2\2\2\u0172\27\3\2\2"+
"\2\u0173\u0174\7%\2\2\u0174\31\3\2\2\2\u0175\u0178\5\34\17\2\u0176\u0178"+
"\5L\'\2\u0177\u0175\3\2\2\2\u0177\u0176\3\2\2\2\u0178\33\3\2\2\2\u0179"+
"\u017e\5\36\20\2\u017a\u017b\7\65\2\2\u017b\u017d\5\36\20\2\u017c\u017a"+
"\3\2\2\2\u017d\u0180\3\2\2\2\u017e\u017c\3\2\2\2\u017e\u017f\3\2\2\2\u017f"+
"\u0182\3\2\2\2\u0180\u017e\3\2\2\2\u0181\u0183\7\65\2\2\u0182\u0181\3"+
"\2\2\2\u0182\u0183\3\2\2\2\u0183\u0184\3\2\2\2\u0184\u0185\7$\2\2\u0185"+
"\35\3\2\2\2\u0186\u018f\5 \21\2\u0187\u018f\5&\24\2\u0188\u018f\5(\25"+
"\2\u0189\u018f\5*\26\2\u018a\u018f\5\66\34\2\u018b\u018f\5F$\2\u018c\u018f"+
"\5H%\2\u018d\u018f\5J&\2\u018e\u0186\3\2\2\2\u018e\u0187\3\2\2\2\u018e"+
"\u0188\3\2\2\2\u018e\u0189\3\2\2\2\u018e\u018a\3\2\2\2\u018e\u018b\3\2"+
"\2\2\u018e\u018c\3\2\2\2\u018e\u018d\3\2\2\2\u018f\37\3\2\2\2\u0190\u01a0"+
"\5\"\22\2\u0191\u0194\5$\23\2\u0192\u0195\5\u00a0Q\2\u0193\u0195\5\u0090"+
"I\2\u0194\u0192\3\2\2\2\u0194\u0193\3\2\2\2\u0195\u01a1\3\2\2\2\u0196"+
"\u0199\7\67\2\2\u0197\u019a\5\u00a0Q\2\u0198\u019a\5\"\22\2\u0199\u0197"+
"\3\2\2\2\u0199\u0198\3\2\2\2\u019a\u019c\3\2\2\2\u019b\u0196\3\2\2\2\u019c"+
"\u019f\3\2\2\2\u019d\u019b\3\2\2\2\u019d\u019e\3\2\2\2\u019e\u01a1\3\2"+
"\2\2\u019f\u019d\3\2\2\2\u01a0\u0191\3\2\2\2\u01a0\u019d\3\2\2\2\u01a1"+
"!\3\2\2\2\u01a2\u01a5\5^\60\2\u01a3\u01a5\5p9\2\u01a4\u01a2\3\2\2\2\u01a4"+
"\u01a3\3\2\2\2\u01a5\u01ad\3\2\2\2\u01a6\u01a9\7\63\2\2\u01a7\u01aa\5"+
"^\60\2\u01a8\u01aa\5p9\2\u01a9\u01a7\3\2\2\2\u01a9\u01a8\3\2\2\2\u01aa"+
"\u01ac\3\2\2\2\u01ab\u01a6\3\2\2\2\u01ac\u01af\3\2\2\2\u01ad\u01ab\3\2"+
"\2\2\u01ad\u01ae\3\2\2\2\u01ae\u01b1\3\2\2\2\u01af\u01ad\3\2\2\2\u01b0"+
"\u01b2\7\63\2\2\u01b1\u01b0\3\2\2\2\u01b1\u01b2\3\2\2\2\u01b2#\3\2\2\2"+
"\u01b3\u01b4\t\2\2\2\u01b4%\3\2\2\2\u01b5\u01b6\7 \2\2\u01b6\u01b7\5\u008e"+
"H\2\u01b7\'\3\2\2\2\u01b8\u01b9\7!\2\2\u01b9)\3\2\2\2\u01ba\u01c0\5,\27"+
"\2\u01bb\u01c0\5.\30\2\u01bc\u01c0\5\60\31\2\u01bd\u01c0\5\64\33\2\u01be"+
"\u01c0\5\62\32\2\u01bf\u01ba\3\2\2\2\u01bf\u01bb\3\2\2\2\u01bf\u01bc\3"+
"\2\2\2\u01bf\u01bd\3\2\2\2\u01bf\u01be\3\2\2\2\u01c0+\3\2\2\2\u01c1\u01c2"+
"\7#\2\2\u01c2-\3\2\2\2\u01c3\u01c4\7\"\2\2\u01c4/\3\2\2\2\u01c5\u01c7"+
"\7\4\2\2\u01c6\u01c8\5\u0090I\2\u01c7\u01c6\3\2\2\2\u01c7\u01c8\3\2\2"+
"\2\u01c8\61\3\2\2\2\u01c9\u01ca\5\u00a0Q\2\u01ca\63\3\2\2\2\u01cb\u01d1"+
"\7\5\2\2\u01cc\u01cf\5^\60\2\u01cd\u01ce\7\6\2\2\u01ce\u01d0\5^\60\2\u01cf"+
"\u01cd\3\2\2\2\u01cf\u01d0\3\2\2\2\u01d0\u01d2\3\2\2\2\u01d1\u01cc\3\2"+
"\2\2\u01d1\u01d2\3\2\2\2\u01d2\65\3\2\2\2\u01d3\u01d6\58\35\2\u01d4\u01d6"+
"\5:\36\2\u01d5\u01d3\3\2\2\2\u01d5\u01d4\3\2\2\2\u01d6\67\3\2\2\2\u01d7"+
"\u01d8\7\7\2\2\u01d8\u01d9\5B\"\2\u01d99\3\2\2\2\u01da\u01e7\7\6\2\2\u01db"+
"\u01dd\t\3\2\2\u01dc\u01db\3\2\2\2\u01dd\u01e0\3\2\2\2\u01de\u01dc\3\2"+
"\2\2\u01de\u01df\3\2\2\2\u01df\u01e1\3\2\2\2\u01e0\u01de\3\2\2\2\u01e1"+
"\u01e8\5D#\2\u01e2\u01e4\t\3\2\2\u01e3\u01e2\3\2\2\2\u01e4\u01e5\3\2\2"+
"\2\u01e5\u01e3\3\2\2\2\u01e5\u01e6\3\2\2\2\u01e6\u01e8\3\2\2\2\u01e7\u01de"+
"\3\2\2\2\u01e7\u01e3\3\2\2\2\u01e8\u01e9\3\2\2\2\u01e9\u01f0\7\7\2\2\u01ea"+
"\u01f1\7\60\2\2\u01eb\u01ec\7\61\2\2\u01ec\u01ed\5@!\2\u01ed\u01ee\7\62"+
"\2\2\u01ee\u01f1\3\2\2\2\u01ef\u01f1\5@!\2\u01f0\u01ea\3\2\2\2\u01f0\u01eb"+
"\3\2\2\2\u01f0\u01ef\3\2\2\2\u01f1;\3\2\2\2\u01f2\u01f5\7%\2\2\u01f3\u01f4"+
"\7\b\2\2\u01f4\u01f6\7%\2\2\u01f5\u01f3\3\2\2\2\u01f5\u01f6\3\2\2\2\u01f6"+
"=\3\2\2\2\u01f7\u01fa\5D#\2\u01f8\u01f9\7\b\2\2\u01f9\u01fb\7%\2\2\u01fa"+
"\u01f8\3\2\2\2\u01fa\u01fb\3\2\2\2\u01fb?\3\2\2\2\u01fc\u0201\5<\37\2"+
"\u01fd\u01fe\7\63\2\2\u01fe\u0200\5<\37\2\u01ff\u01fd\3\2\2\2\u0200\u0203"+
"\3\2\2\2\u0201\u01ff\3\2\2\2\u0201\u0202\3\2\2\2\u0202\u0205\3\2\2\2\u0203"+
"\u0201\3\2\2\2\u0204\u0206\7\63\2\2\u0205\u0204\3\2\2\2\u0205\u0206\3"+
"\2\2\2\u0206A\3\2\2\2\u0207\u020c\5> \2\u0208\u0209\7\63\2\2\u0209\u020b"+
"\5> \2\u020a\u0208\3\2\2\2\u020b\u020e\3\2\2\2\u020c\u020a\3\2\2\2\u020c"+
"\u020d\3\2\2\2\u020dC\3\2\2\2\u020e\u020c\3\2\2\2\u020f\u0214\7%\2\2\u0210"+
"\u0211\7.\2\2\u0211\u0213\7%\2\2\u0212\u0210\3\2\2\2\u0213\u0216\3\2\2"+
"\2\u0214\u0212\3\2\2\2\u0214\u0215\3\2\2\2\u0215E\3\2\2\2\u0216\u0214"+
"\3\2\2\2\u0217\u0218\7\t\2\2\u0218\u021d\7%\2\2\u0219\u021a\7\63\2\2\u021a"+
"\u021c\7%\2\2\u021b\u0219\3\2\2\2\u021c\u021f\3\2\2\2\u021d\u021b\3\2"+
"\2\2\u021d\u021e\3\2\2\2\u021eG\3\2\2\2\u021f\u021d\3\2\2\2\u0220\u0221"+
"\7\n\2\2\u0221\u0226\7%\2\2\u0222\u0223\7\63\2\2\u0223\u0225\7%\2\2\u0224"+
"\u0222\3\2\2\2\u0225\u0228\3\2\2\2\u0226\u0224\3\2\2\2\u0226\u0227\3\2"+
"\2\2\u0227I\3\2\2\2\u0228\u0226\3\2\2\2\u0229\u022a\7\13\2\2\u022a\u022d"+
"\5^\60\2\u022b\u022c\7\63\2\2\u022c\u022e\5^\60\2\u022d\u022b\3\2\2\2"+
"\u022d\u022e\3\2\2\2\u022eK\3\2\2\2\u022f\u0238\5N(\2\u0230\u0238\5P)"+
"\2\u0231\u0238\5R*\2\u0232\u0238\5T+\2\u0233\u0238\5V,\2\u0234\u0238\5"+
"\16\b\2\u0235\u0238\5\u0094K\2\u0236\u0238\5\f\7\2\u0237\u022f\3\2\2\2"+
"\u0237\u0230\3\2\2\2\u0237\u0231\3\2\2\2\u0237\u0232\3\2\2\2\u0237\u0233"+
"\3\2\2\2\u0237\u0234\3\2\2\2\u0237\u0235\3\2\2\2\u0237\u0236\3\2\2\2\u0238"+
"M\3\2\2\2\u0239\u023a\7\f\2\2\u023a\u023b\5^\60\2\u023b\u023c\7\64\2\2"+
"\u023c\u0244\5\\/\2\u023d\u023e\7\r\2\2\u023e\u023f\5^\60\2\u023f\u0240"+
"\7\64\2\2\u0240\u0241\5\\/\2\u0241\u0243\3\2\2\2\u0242\u023d\3\2\2\2\u0243"+
"\u0246\3\2\2\2\u0244\u0242\3\2\2\2\u0244\u0245\3\2\2\2\u0245\u024a\3\2"+
"\2\2\u0246\u0244\3\2\2\2\u0247\u0248\7\16\2\2\u0248\u0249\7\64\2\2\u0249"+
"\u024b\5\\/\2\u024a\u0247\3\2\2\2\u024a\u024b\3\2\2\2\u024bO\3\2\2\2\u024c"+
"\u024d\7\17\2\2\u024d\u024e\5^\60\2\u024e\u024f\7\64\2\2\u024f\u0253\5"+
"\\/\2\u0250\u0251\7\16\2\2\u0251\u0252\7\64\2\2\u0252\u0254\5\\/\2\u0253"+
"\u0250\3\2\2\2\u0253\u0254\3\2\2\2\u0254Q\3\2\2\2\u0255\u0256\7\20\2\2"+
"\u0256\u0257\5\u008eH\2\u0257\u0258\7\21\2\2\u0258\u0259\5\u0090I\2\u0259"+
"\u025a\7\64\2\2\u025a\u025e\5\\/\2\u025b\u025c\7\16\2\2\u025c\u025d\7"+
"\64\2\2\u025d\u025f\5\\/\2\u025e\u025b\3\2\2\2\u025e\u025f\3\2\2\2\u025f"+
"S\3\2\2\2\u0260\u0261\7\22\2\2\u0261\u0262\7\64\2\2\u0262\u0278\5\\/\2"+
"\u0263\u0264\5Z.\2\u0264\u0265\7\64\2\2\u0265\u0266\5\\/\2\u0266\u0268"+
"\3\2\2\2\u0267\u0263\3\2\2\2\u0268\u0269\3\2\2\2\u0269\u0267\3\2\2\2\u0269"+
"\u026a\3\2\2\2\u026a\u026e\3\2\2\2\u026b\u026c\7\16\2\2\u026c\u026d\7"+
"\64\2\2\u026d\u026f\5\\/\2\u026e\u026b\3\2\2\2\u026e\u026f\3\2\2\2\u026f"+
"\u0273\3\2\2\2\u0270\u0271\7\23\2\2\u0271\u0272\7\64\2\2\u0272\u0274\5"+
"\\/\2\u0273\u0270\3\2\2\2\u0273\u0274\3\2\2\2\u0274\u0279\3\2\2\2\u0275"+
"\u0276\7\23\2\2\u0276\u0277\7\64\2\2\u0277\u0279\5\\/\2\u0278\u0267\3"+
"\2\2\2\u0278\u0275\3\2\2\2\u0279U\3\2\2\2\u027a\u027b\7\24\2\2\u027b\u0280"+
"\5X-\2\u027c\u027d\7\63\2\2\u027d\u027f\5X-\2\u027e\u027c\3\2\2\2\u027f"+
"\u0282\3\2\2\2\u0280\u027e\3\2\2\2\u0280\u0281\3\2\2\2\u0281\u0283\3\2"+
"\2\2\u0282\u0280\3\2\2\2\u0283\u0284\7\64\2\2\u0284\u0285\5\\/\2\u0285"+
"W\3\2\2\2\u0286\u0289\5^\60\2\u0287\u0288\7\b\2\2\u0288\u028a\5r:\2\u0289"+
"\u0287\3\2\2\2\u0289\u028a\3\2\2\2\u028aY\3\2\2\2\u028b\u0291\7\25\2\2"+
"\u028c\u028f\5^\60\2\u028d\u028e\7\b\2\2\u028e\u0290\7%\2\2\u028f\u028d"+
"\3\2\2\2\u028f\u0290\3\2\2\2\u0290\u0292\3\2\2\2\u0291\u028c\3\2\2\2\u0291"+
"\u0292\3\2\2\2\u0292[\3\2\2\2\u0293\u029e\5\34\17\2\u0294\u0295\7$\2\2"+
"\u0295\u0297\7_\2\2\u0296\u0298\5\32\16\2\u0297\u0296\3\2\2\2\u0298\u0299"+
"\3\2\2\2\u0299\u0297\3\2\2\2\u0299\u029a\3\2\2\2\u029a\u029b\3\2\2\2\u029b"+
"\u029c\7`\2\2\u029c\u029e\3\2\2\2\u029d\u0293\3\2\2\2\u029d\u0294\3\2"+
"\2\2\u029e]\3\2\2\2\u029f\u02a5\5f\64\2\u02a0\u02a1\7\f\2\2\u02a1\u02a2"+
"\5f\64\2\u02a2\u02a3\7\16\2\2\u02a3\u02a4\5^\60\2\u02a4\u02a6\3\2\2\2"+
"\u02a5\u02a0\3\2\2\2\u02a5\u02a6\3\2\2\2\u02a6\u02a9\3\2\2\2\u02a7\u02a9"+
"\5b\62\2\u02a8\u029f\3\2\2\2\u02a8\u02a7\3\2\2\2\u02a9_\3\2\2\2\u02aa"+
"\u02ad\5f\64\2\u02ab\u02ad\5d\63\2\u02ac\u02aa\3\2\2\2\u02ac\u02ab\3\2"+
"\2\2\u02ada\3\2\2\2\u02ae\u02b0\7\26\2\2\u02af\u02b1\5\26\f\2\u02b0\u02af"+
"\3\2\2\2\u02b0\u02b1\3\2\2\2\u02b1\u02b2\3\2\2\2\u02b2\u02b3\7\64\2\2"+
"\u02b3\u02b4\5^\60\2\u02b4c\3\2\2\2\u02b5\u02b7\7\26\2\2\u02b6\u02b8\5"+
"\26\f\2\u02b7\u02b6\3\2\2\2\u02b7\u02b8\3\2\2\2\u02b8\u02b9\3\2\2\2\u02b9"+
"\u02ba\7\64\2\2\u02ba\u02bb\5`\61\2\u02bbe\3\2\2\2\u02bc\u02c1\5h\65\2"+
"\u02bd\u02be\7\27\2\2\u02be\u02c0\5h\65\2\u02bf\u02bd\3\2\2\2\u02c0\u02c3"+
"\3\2\2\2\u02c1\u02bf\3\2\2\2\u02c1\u02c2\3\2\2\2\u02c2g\3\2\2\2\u02c3"+
"\u02c1\3\2\2\2\u02c4\u02c9\5j\66\2\u02c5\u02c6\7\30\2\2\u02c6\u02c8\5"+
"j\66\2\u02c7\u02c5\3\2\2\2\u02c8\u02cb\3\2\2\2\u02c9\u02c7\3\2\2\2\u02c9"+
"\u02ca\3\2\2\2\u02cai\3\2\2\2\u02cb\u02c9\3\2\2\2\u02cc\u02cd\7\31\2\2"+
"\u02cd\u02d0\5j\66\2\u02ce\u02d0\5l\67\2\u02cf\u02cc\3\2\2\2\u02cf\u02ce"+
"\3\2\2\2\u02d0k\3\2\2\2\u02d1\u02d7\5p9\2\u02d2\u02d3\5n8\2\u02d3\u02d4"+
"\5p9\2\u02d4\u02d6\3\2\2\2\u02d5\u02d2\3\2\2\2\u02d6\u02d9\3\2\2\2\u02d7"+
"\u02d5\3\2\2\2\u02d7\u02d8\3\2\2\2\u02d8m\3\2\2\2\u02d9\u02d7\3\2\2\2"+
"\u02da\u02e8\7G\2\2\u02db\u02e8\7H\2\2\u02dc\u02e8\7I\2\2\u02dd\u02e8"+
"\7J\2\2\u02de\u02e8\7K\2\2\u02df\u02e8\7L\2\2\u02e0\u02e8\7M\2\2\u02e1"+
"\u02e8\7\21\2\2\u02e2\u02e3\7\31\2\2\u02e3\u02e8\7\21\2\2\u02e4\u02e8"+
"\7\32\2\2\u02e5\u02e6\7\32\2\2\u02e6\u02e8\7\31\2\2\u02e7\u02da\3\2\2"+
"\2\u02e7\u02db\3\2\2\2\u02e7\u02dc\3\2\2\2\u02e7\u02dd\3\2\2\2\u02e7\u02de"+
"\3\2\2\2\u02e7\u02df\3\2\2\2\u02e7\u02e0\3\2\2\2\u02e7\u02e1\3\2\2\2\u02e7"+
"\u02e2\3\2\2\2\u02e7\u02e4\3\2\2\2\u02e7\u02e5\3\2\2\2\u02e8o\3\2\2\2"+
"\u02e9\u02eb\7\60\2\2\u02ea\u02e9\3\2\2\2\u02ea\u02eb\3\2\2\2\u02eb\u02ec"+
"\3\2\2\2\u02ec\u02ed\5r:\2\u02edq\3\2\2\2\u02ee\u02f3\5t;\2\u02ef\u02f0"+
"\7:\2\2\u02f0\u02f2\5t;\2\u02f1\u02ef\3\2\2\2\u02f2\u02f5\3\2\2\2\u02f3"+
"\u02f1\3\2\2\2\u02f3\u02f4\3\2\2\2\u02f4s\3\2\2\2\u02f5\u02f3\3\2\2\2"+
"\u02f6\u02fb\5v<\2\u02f7\u02f8\7;\2\2\u02f8\u02fa\5v<\2\u02f9\u02f7\3"+
"\2\2\2\u02fa\u02fd\3\2\2\2\u02fb\u02f9\3\2\2\2\u02fb\u02fc\3\2\2\2\u02fc"+
"u\3\2\2\2\u02fd\u02fb\3\2\2\2\u02fe\u0303\5x=\2\u02ff\u0300\7<\2\2\u0300"+
"\u0302\5x=\2\u0301\u02ff\3\2\2\2\u0302\u0305\3\2\2\2\u0303\u0301\3\2\2"+
"\2\u0303\u0304\3\2\2\2\u0304w\3\2\2\2\u0305\u0303\3\2\2\2\u0306\u030d"+
"\5z>\2\u0307\u0308\7=\2\2\u0308\u030c\5z>\2\u0309\u030a\7>\2\2\u030a\u030c"+
"\5z>\2\u030b\u0307\3\2\2\2\u030b\u0309\3\2\2\2\u030c\u030f\3\2\2\2\u030d"+
"\u030b\3\2\2\2\u030d\u030e\3\2\2\2\u030ey\3\2\2\2\u030f\u030d\3\2\2\2"+
"\u0310\u0317\5|?\2\u0311\u0312\7?\2\2\u0312\u0316\5|?\2\u0313\u0314\7"+
"@\2\2\u0314\u0316\5|?\2\u0315\u0311\3\2\2\2\u0315\u0313\3\2\2\2\u0316"+
"\u0319\3\2\2\2\u0317\u0315\3\2\2\2\u0317\u0318\3\2\2\2\u0318{\3\2\2\2"+
"\u0319\u0317\3\2\2\2\u031a\u0327\5~@\2\u031b\u031c\7\60\2\2\u031c\u0326"+
"\5~@\2\u031d\u031e\7A\2\2\u031e\u0326\5~@\2\u031f\u0320\7B\2\2\u0320\u0326"+
"\5~@\2\u0321\u0322\7C\2\2\u0322\u0326\5~@\2\u0323\u0324\7N\2\2\u0324\u0326"+
"\5~@\2\u0325\u031b\3\2\2\2\u0325\u031d\3\2\2\2\u0325\u031f\3\2\2\2\u0325"+
"\u0321\3\2\2\2\u0325\u0323\3\2\2\2\u0326\u0329\3\2\2\2\u0327\u0325\3\2"+
"\2\2\u0327\u0328\3\2\2\2\u0328}\3\2\2\2\u0329\u0327\3\2\2\2\u032a\u032b"+
"\7?\2\2\u032b\u0332\5~@\2\u032c\u032d\7@\2\2\u032d\u0332\5~@\2\u032e\u032f"+
"\7D\2\2\u032f\u0332\5~@\2\u0330\u0332\5\u0080A\2\u0331\u032a\3\2\2\2\u0331"+
"\u032c\3\2\2\2\u0331\u032e\3\2\2\2\u0331\u0330\3\2\2\2\u0332\177\3\2\2"+
"\2\u0333\u0337\5\u0082B\2\u0334\u0336\5\u0086D\2\u0335\u0334\3\2\2\2\u0336"+
"\u0339\3\2\2\2\u0337\u0335\3\2\2\2\u0337\u0338\3\2\2\2\u0338\u033c\3\2"+
"\2\2\u0339\u0337\3\2\2\2\u033a\u033b\7\66\2\2\u033b\u033d\5~@\2\u033c"+
"\u033a\3\2\2\2\u033c\u033d\3\2\2\2\u033d\u0081\3\2\2\2\u033e\u0341\7\61"+
"\2\2\u033f\u0342\5\u00a0Q\2\u0340\u0342\5\u0084C\2\u0341\u033f\3\2\2\2"+
"\u0341\u0340\3\2\2\2\u0341\u0342\3\2\2\2\u0342\u0343\3\2\2\2\u0343\u035a"+
"\7\62\2\2\u0344\u0346\78\2\2\u0345\u0347\5\u0084C\2\u0346\u0345\3\2\2"+
"\2\u0346\u0347\3\2\2\2\u0347\u0348\3\2\2\2\u0348\u035a\79\2\2\u0349\u034b"+
"\7E\2\2\u034a\u034c\5\u0092J\2\u034b\u034a\3\2\2\2\u034b\u034c\3\2\2\2"+
"\u034c\u034d\3\2\2\2\u034d\u035a\7F\2\2\u034e\u035a\7%\2\2\u034f\u035a"+
"\5\u00a6T\2\u0350\u0352\5\u00a4S\2\u0351\u0350\3\2\2\2\u0352\u0353\3\2"+
"\2\2\u0353\u0351\3\2\2\2\u0353\u0354\3\2\2\2\u0354\u035a\3\2\2\2\u0355"+
"\u035a\7/\2\2\u0356\u035a\7\33\2\2\u0357\u035a\7\34\2\2\u0358\u035a\7"+
"\35\2\2\u0359\u033e\3\2\2\2\u0359\u0344\3\2\2\2\u0359\u0349\3\2\2\2\u0359"+
"\u034e\3\2\2\2\u0359\u034f\3\2\2\2\u0359\u0351\3\2\2\2\u0359\u0355\3\2"+
"\2\2\u0359\u0356\3\2\2\2\u0359\u0357\3\2\2\2\u0359\u0358\3\2\2\2\u035a"+
"\u0083\3\2\2\2\u035b\u0367\5^\60\2\u035c\u0368\5\u009cO\2\u035d\u035e"+
"\7\63\2\2\u035e\u0360\5^\60\2\u035f\u035d\3\2\2\2\u0360\u0363\3\2\2\2"+
"\u0361\u035f\3\2\2\2\u0361\u0362\3\2\2\2\u0362\u0365\3\2\2\2\u0363\u0361"+
"\3\2\2\2\u0364\u0366\7\63\2\2\u0365\u0364\3\2\2\2\u0365\u0366\3\2\2\2"+
"\u0366\u0368\3\2\2\2\u0367\u035c\3\2\2\2\u0367\u0361\3\2\2\2\u0368\u0085"+
"\3\2\2\2\u0369\u036b\7\61\2\2\u036a\u036c\5\u0096L\2\u036b\u036a\3\2\2"+
"\2\u036b\u036c\3\2\2\2\u036c\u036d\3\2\2\2\u036d\u0375\7\62\2\2\u036e"+
"\u036f\78\2\2\u036f\u0370\5\u0088E\2\u0370\u0371\79\2\2\u0371\u0375\3"+
"\2\2\2\u0372\u0373\7.\2\2\u0373\u0375\7%\2\2\u0374\u0369\3\2\2\2\u0374"+
"\u036e\3\2\2\2\u0374\u0372\3\2\2\2\u0375\u0087\3\2\2\2\u0376\u037b\5\u008a"+
"F\2\u0377\u0378\7\63\2\2\u0378\u037a\5\u008aF\2\u0379\u0377\3\2\2\2\u037a"+
"\u037d\3\2\2\2\u037b\u0379\3\2\2\2\u037b\u037c\3\2\2\2\u037c\u037f\3\2"+
"\2\2\u037d\u037b\3\2\2\2\u037e\u0380\7\63\2\2\u037f\u037e\3\2\2\2\u037f"+
"\u0380\3\2\2\2\u0380\u0089\3\2\2\2\u0381\u038d\5^\60\2\u0382\u0384\5^"+
"\60\2\u0383\u0382\3\2\2\2\u0383\u0384\3\2\2\2\u0384\u0385\3\2\2\2\u0385"+
"\u0387\7\64\2\2\u0386\u0388\5^\60\2\u0387\u0386\3\2\2\2\u0387\u0388\3"+
"\2\2\2\u0388\u038a\3\2\2\2\u0389\u038b\5\u008cG\2\u038a\u0389\3\2\2\2"+
"\u038a\u038b\3\2\2\2\u038b\u038d\3\2\2\2\u038c\u0381\3\2\2\2\u038c\u0383"+
"\3\2\2\2\u038d\u008b\3\2\2\2\u038e\u0390\7\64\2\2\u038f\u0391\5^\60\2"+
"\u0390\u038f\3\2\2\2\u0390\u0391\3\2\2\2\u0391\u008d\3\2\2\2\u0392\u0397"+
"\5p9\2\u0393\u0394\7\63\2\2\u0394\u0396\5p9\2\u0395\u0393\3\2\2\2\u0396"+
"\u0399\3\2\2\2\u0397\u0395\3\2\2\2\u0397\u0398\3\2\2\2\u0398\u039b\3\2"+
"\2\2\u0399\u0397\3\2\2\2\u039a\u039c\7\63\2\2\u039b\u039a\3\2\2\2\u039b"+
"\u039c\3\2\2\2\u039c\u008f\3\2\2\2\u039d\u03a2\5^\60\2\u039e\u039f\7\63"+
"\2\2\u039f\u03a1\5^\60\2\u03a0\u039e\3\2\2\2\u03a1\u03a4\3\2\2\2\u03a2"+
"\u03a0\3\2\2\2\u03a2\u03a3\3\2\2\2\u03a3\u03a6\3\2\2\2\u03a4\u03a2\3\2"+
"\2\2\u03a5\u03a7\7\63\2\2\u03a6\u03a5\3\2\2\2\u03a6\u03a7\3\2\2\2\u03a7"+
"\u0091\3\2\2\2\u03a8\u03a9\5^\60\2\u03a9\u03aa\7\64\2\2\u03aa\u03b9\5"+
"^\60\2\u03ab\u03ba\5\u009cO\2\u03ac\u03ad\7\63\2\2\u03ad\u03ae\5^\60\2"+
"\u03ae\u03af\7\64\2\2\u03af\u03b0\5^\60\2\u03b0\u03b2\3\2\2\2\u03b1\u03ac"+
"\3\2\2\2\u03b2\u03b5\3\2\2\2\u03b3\u03b1\3\2\2\2\u03b3\u03b4\3\2\2\2\u03b4"+
"\u03b7\3\2\2\2\u03b5\u03b3\3\2\2\2\u03b6\u03b8\7\63\2\2\u03b7\u03b6\3"+
"\2\2\2\u03b7\u03b8\3\2\2\2\u03b8\u03ba\3\2\2\2\u03b9\u03ab\3\2\2\2\u03b9"+
"\u03b3\3\2\2\2\u03ba\u03ca\3\2\2\2\u03bb\u03c7\5^\60\2\u03bc\u03c8\5\u009c"+
"O\2\u03bd\u03be\7\63\2\2\u03be\u03c0\5^\60\2\u03bf\u03bd\3\2\2\2\u03c0"+
"\u03c3\3\2\2\2\u03c1\u03bf\3\2\2\2\u03c1\u03c2\3\2\2\2\u03c2\u03c5\3\2"+
"\2\2\u03c3\u03c1\3\2\2\2\u03c4\u03c6\7\63\2\2\u03c5\u03c4\3\2\2\2\u03c5"+
"\u03c6\3\2\2\2\u03c6\u03c8\3\2\2\2\u03c7\u03bc\3\2\2\2\u03c7\u03c1\3\2"+
"\2\2\u03c8\u03ca\3\2\2\2\u03c9\u03a8\3\2\2\2\u03c9\u03bb\3\2\2\2\u03ca"+
"\u0093\3\2\2\2\u03cb\u03cc\7\36\2\2\u03cc\u03d2\7%\2\2\u03cd\u03cf\7\61"+
"\2\2\u03ce\u03d0\5\u0096L\2\u03cf\u03ce\3\2\2\2\u03cf\u03d0\3\2\2\2\u03d0"+
"\u03d1\3\2\2\2\u03d1\u03d3\7\62\2\2\u03d2\u03cd\3\2\2\2\u03d2\u03d3\3"+
"\2\2\2\u03d3\u03d4\3\2\2\2\u03d4\u03d5\7\64\2\2\u03d5\u03d6\5\\/\2\u03d6"+
"\u0095\3\2\2\2\u03d7\u03d8\5\u0098M\2\u03d8\u03d9\7\63\2\2\u03d9\u03db"+
"\3\2\2\2\u03da\u03d7\3\2\2\2\u03db\u03de\3\2\2\2\u03dc\u03da\3\2\2\2\u03dc"+
"\u03dd\3\2\2\2\u03dd\u03f3\3\2\2\2\u03de\u03dc\3\2\2\2\u03df\u03e1\5\u0098"+
"M\2\u03e0\u03e2\7\63\2\2\u03e1\u03e0\3\2\2\2\u03e1\u03e2\3\2\2\2\u03e2"+
"\u03f4\3\2\2\2\u03e3\u03e4\7\60\2\2\u03e4\u03e9\5^\60\2\u03e5\u03e6\7"+
"\63\2\2\u03e6\u03e8\5\u0098M\2\u03e7\u03e5\3\2\2\2\u03e8\u03eb\3\2\2\2"+
"\u03e9\u03e7\3\2\2\2\u03e9\u03ea\3\2\2\2\u03ea\u03ef\3\2\2\2\u03eb\u03e9"+
"\3\2\2\2\u03ec\u03ed\7\63\2\2\u03ed\u03ee\7\66\2\2\u03ee\u03f0\5^\60\2"+
"\u03ef\u03ec\3\2\2\2\u03ef\u03f0\3\2\2\2\u03f0\u03f4\3\2\2\2\u03f1\u03f2"+
"\7\66\2\2\u03f2\u03f4\5^\60\2\u03f3\u03df\3\2\2\2\u03f3\u03e3\3\2\2\2"+
"\u03f3\u03f1\3\2\2\2\u03f4\u0097\3\2\2\2\u03f5\u03f7\5^\60\2\u03f6\u03f8"+
"\5\u009cO\2\u03f7\u03f6\3\2\2\2\u03f7\u03f8\3\2\2\2\u03f8\u03fe\3\2\2"+
"\2\u03f9\u03fa\5^\60\2\u03fa\u03fb\7\67\2\2\u03fb\u03fc\5^\60\2\u03fc"+
"\u03fe\3\2\2\2\u03fd\u03f5\3\2\2\2\u03fd\u03f9\3\2\2\2\u03fe\u0099\3\2"+
"\2\2\u03ff\u0402\5\u009cO\2\u0400\u0402\5\u009eP\2\u0401\u03ff\3\2\2\2"+
"\u0401\u0400\3\2\2\2\u0402\u009b\3\2\2\2\u0403\u0404\7\20\2\2\u0404\u0405"+
"\5\u008eH\2\u0405\u0406\7\21\2\2\u0406\u0408\5f\64\2\u0407\u0409\5\u009a"+
"N\2\u0408\u0407\3\2\2\2\u0408\u0409\3\2\2\2\u0409\u009d\3\2\2\2\u040a"+
"\u040b\7\f\2\2\u040b\u040d\5`\61\2\u040c\u040e\5\u009aN\2\u040d\u040c"+
"\3\2\2\2\u040d\u040e\3\2\2\2\u040e\u009f\3\2\2\2\u040f\u0411\7\37\2\2"+
"\u0410\u0412\5\u00a2R\2\u0411\u0410\3\2\2\2\u0411\u0412\3\2\2\2\u0412"+
"\u00a1\3\2\2\2\u0413\u0414\7\6\2\2\u0414\u0417\5^\60\2\u0415\u0417\5\u0090"+
"I\2\u0416\u0413\3\2\2\2\u0416\u0415\3\2\2\2\u0417\u00a3\3\2\2\2\u0418"+
"\u0419\t\4\2\2\u0419\u00a5\3\2\2\2\u041a\u041e\5\u00a8U\2\u041b\u041e"+
"\7,\2\2\u041c\u041e\7-\2\2\u041d\u041a\3\2\2\2\u041d\u041b\3\2\2\2\u041d"+
"\u041c\3\2\2\2\u041e\u00a7\3\2\2\2\u041f\u0420\t\5\2\2\u0420\u00a9\3\2"+
"\2\2\u0098\u00af\u00b3\u00b5\u00be\u00c7\u00ca\u00d1\u00d6\u00dd\u00e4"+
"\u00eb\u00f1\u00f5\u00fb\u0101\u0105\u010b\u010f\u0111\u0115\u011b\u011f"+
"\u0125\u0129\u012e\u0133\u0139\u013d\u0143\u0149\u014d\u0153\u0157\u0159"+
"\u015d\u0163\u0167\u016d\u0171\u0177\u017e\u0182\u018e\u0194\u0199\u019d"+
"\u01a0\u01a4\u01a9\u01ad\u01b1\u01bf\u01c7\u01cf\u01d1\u01d5\u01de\u01e5"+
"\u01e7\u01f0\u01f5\u01fa\u0201\u0205\u020c\u0214\u021d\u0226\u022d\u0237"+
"\u0244\u024a\u0253\u025e\u0269\u026e\u0273\u0278\u0280\u0289\u028f\u0291"+
"\u0299\u029d\u02a5\u02a8\u02ac\u02b0\u02b7\u02c1\u02c9\u02cf\u02d7\u02e7"+
"\u02ea\u02f3\u02fb\u0303\u030b\u030d\u0315\u0317\u0325\u0327\u0331\u0337"+
"\u033c\u0341\u0346\u034b\u0353\u0359\u0361\u0365\u0367\u036b\u0374\u037b"+
"\u037f\u0383\u0387\u038a\u038c\u0390\u0397\u039b\u03a2\u03a6\u03b3\u03b7"+
"\u03b9\u03c1\u03c5\u03c7\u03c9\u03cf\u03d2\u03dc\u03e1\u03e9\u03ef\u03f3"+
"\u03f7\u03fd\u0401\u0408\u040d\u0411\u0416\u041d";
public static final ATN _ATN =
new ATNDeserializer().deserialize(_serializedATN.toCharArray());
static {
_decisionToDFA = new DFA[_ATN.getNumberOfDecisions()];
for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) {
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
}