Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1# Generated from \Python3.g4 by ANTLR 4.9 

2# encoding: utf-8 

3from antlr4 import * 

4from io import StringIO 

5import sys 

6if sys.version_info[1] > 5: 

7 from typing import TextIO 

8else: 

9 from typing.io import TextIO 

10 

11 

12def serializedATN(): 

13 with StringIO() as buf: 

14 buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3e") 

15 buf.write("\u0452\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7") 

16 buf.write("\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") 

17 buf.write("\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22\4\23\t\23") 

18 buf.write("\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31") 

19 buf.write("\t\31\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36") 

20 buf.write("\4\37\t\37\4 \t \4!\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t") 

21 buf.write("&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4,\t,\4-\t-\4.\t.\4") 

22 buf.write("/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t\64") 

23 buf.write("\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t") 

24 buf.write(";\4<\t<\4=\t=\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\t") 

25 buf.write("D\4E\tE\4F\tF\4G\tG\4H\tH\4I\tI\4J\tJ\4K\tK\4L\tL\4M\t") 

26 buf.write("M\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT\4U\tU\4V\t") 

27 buf.write("V\4W\tW\3\2\3\2\3\2\3\2\3\2\5\2\u00b4\n\2\3\3\3\3\7\3") 

28 buf.write("\u00b8\n\3\f\3\16\3\u00bb\13\3\3\3\3\3\3\4\3\4\7\4\u00c1") 

29 buf.write("\n\4\f\4\16\4\u00c4\13\4\3\4\3\4\3\5\3\5\3\5\3\5\5\5\u00cc") 

30 buf.write("\n\5\3\5\5\5\u00cf\n\5\3\5\3\5\3\6\6\6\u00d4\n\6\r\6\16") 

31 buf.write("\6\u00d5\3\7\3\7\3\7\3\7\5\7\u00dc\n\7\3\b\3\b\3\b\3\t") 

32 buf.write("\3\t\3\t\3\t\3\t\5\t\u00e6\n\t\3\t\3\t\3\t\3\n\3\n\5\n") 

33 buf.write("\u00ed\n\n\3\n\3\n\3\13\3\13\3\13\5\13\u00f4\n\13\3\13") 

34 buf.write("\3\13\3\13\3\13\5\13\u00fa\n\13\7\13\u00fc\n\13\f\13\16") 

35 buf.write("\13\u00ff\13\13\3\13\3\13\3\13\5\13\u0104\n\13\3\13\3") 

36 buf.write("\13\3\13\3\13\5\13\u010a\n\13\7\13\u010c\n\13\f\13\16") 

37 buf.write("\13\u010f\13\13\3\13\3\13\3\13\3\13\5\13\u0115\n\13\5") 

38 buf.write("\13\u0117\n\13\5\13\u0119\n\13\3\13\3\13\3\13\5\13\u011e") 

39 buf.write("\n\13\5\13\u0120\n\13\5\13\u0122\n\13\3\13\3\13\5\13\u0126") 

40 buf.write("\n\13\3\13\3\13\3\13\3\13\5\13\u012c\n\13\7\13\u012e\n") 

41 buf.write("\13\f\13\16\13\u0131\13\13\3\13\3\13\3\13\3\13\5\13\u0137") 

42 buf.write("\n\13\5\13\u0139\n\13\5\13\u013b\n\13\3\13\3\13\3\13\5") 

43 buf.write("\13\u0140\n\13\5\13\u0142\n\13\3\f\3\f\3\f\5\f\u0147\n") 

44 buf.write("\f\3\r\3\r\3\r\5\r\u014c\n\r\3\r\3\r\3\r\3\r\5\r\u0152") 

45 buf.write("\n\r\7\r\u0154\n\r\f\r\16\r\u0157\13\r\3\r\3\r\3\r\5\r") 

46 buf.write("\u015c\n\r\3\r\3\r\3\r\3\r\5\r\u0162\n\r\7\r\u0164\n\r") 

47 buf.write("\f\r\16\r\u0167\13\r\3\r\3\r\3\r\3\r\5\r\u016d\n\r\5\r") 

48 buf.write("\u016f\n\r\5\r\u0171\n\r\3\r\3\r\3\r\5\r\u0176\n\r\5\r") 

49 buf.write("\u0178\n\r\5\r\u017a\n\r\3\r\3\r\5\r\u017e\n\r\3\r\3\r") 

50 buf.write("\3\r\3\r\5\r\u0184\n\r\7\r\u0186\n\r\f\r\16\r\u0189\13") 

51 buf.write("\r\3\r\3\r\3\r\3\r\5\r\u018f\n\r\5\r\u0191\n\r\5\r\u0193") 

52 buf.write("\n\r\3\r\3\r\3\r\5\r\u0198\n\r\5\r\u019a\n\r\3\16\3\16") 

53 buf.write("\3\17\3\17\5\17\u01a0\n\17\3\20\3\20\3\20\7\20\u01a5\n") 

54 buf.write("\20\f\20\16\20\u01a8\13\20\3\20\5\20\u01ab\n\20\3\20\3") 

55 buf.write("\20\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\5\21\u01b7") 

56 buf.write("\n\21\3\22\3\22\3\22\3\22\3\22\5\22\u01be\n\22\3\22\3") 

57 buf.write("\22\3\22\5\22\u01c3\n\22\7\22\u01c5\n\22\f\22\16\22\u01c8") 

58 buf.write("\13\22\5\22\u01ca\n\22\3\23\3\23\3\23\3\23\5\23\u01d0") 

59 buf.write("\n\23\3\24\3\24\5\24\u01d4\n\24\3\24\3\24\3\24\5\24\u01d9") 

60 buf.write("\n\24\7\24\u01db\n\24\f\24\16\24\u01de\13\24\3\24\5\24") 

61 buf.write("\u01e1\n\24\3\25\3\25\3\26\3\26\3\26\3\27\3\27\3\30\3") 

62 buf.write("\30\3\30\3\30\3\30\5\30\u01ef\n\30\3\31\3\31\3\32\3\32") 

63 buf.write("\3\33\3\33\5\33\u01f7\n\33\3\34\3\34\3\35\3\35\3\35\3") 

64 buf.write("\35\5\35\u01ff\n\35\5\35\u0201\n\35\3\36\3\36\5\36\u0205") 

65 buf.write("\n\36\3\37\3\37\3\37\3 \3 \7 \u020c\n \f \16 \u020f\13") 

66 buf.write(" \3 \3 \6 \u0213\n \r \16 \u0214\5 \u0217\n \3 \3 \3 ") 

67 buf.write("\3 \3 \3 \3 \5 \u0220\n \3!\3!\3!\5!\u0225\n!\3\"\3\"") 

68 buf.write("\3\"\5\"\u022a\n\"\3#\3#\3#\7#\u022f\n#\f#\16#\u0232\13") 

69 buf.write("#\3#\5#\u0235\n#\3$\3$\3$\7$\u023a\n$\f$\16$\u023d\13") 

70 buf.write("$\3%\3%\3%\7%\u0242\n%\f%\16%\u0245\13%\3&\3&\3&\3&\7") 

71 buf.write("&\u024b\n&\f&\16&\u024e\13&\3\'\3\'\3\'\3\'\7\'\u0254") 

72 buf.write("\n\'\f\'\16\'\u0257\13\'\3(\3(\3(\3(\5(\u025d\n(\3)\3") 

73 buf.write(")\3)\3)\3)\3)\3)\3)\3)\5)\u0268\n)\3*\3*\3*\3*\5*\u026e") 

74 buf.write("\n*\3+\3+\3+\3+\3+\3+\3+\3+\3+\7+\u0279\n+\f+\16+\u027c") 

75 buf.write("\13+\3+\3+\3+\5+\u0281\n+\3,\3,\3,\3,\3,\3,\3,\5,\u028a") 

76 buf.write("\n,\3-\3-\3-\3-\3-\3-\3-\3-\3-\5-\u0295\n-\3.\3.\3.\3") 

77 buf.write(".\3.\3.\3.\6.\u029e\n.\r.\16.\u029f\3.\3.\3.\5.\u02a5") 

78 buf.write("\n.\3.\3.\3.\5.\u02aa\n.\3.\3.\3.\5.\u02af\n.\3/\3/\3") 

79 buf.write("/\3/\7/\u02b5\n/\f/\16/\u02b8\13/\3/\3/\3/\3\60\3\60\3") 

80 buf.write("\60\5\60\u02c0\n\60\3\61\3\61\3\61\3\61\5\61\u02c6\n\61") 

81 buf.write("\5\61\u02c8\n\61\3\62\3\62\3\62\3\62\6\62\u02ce\n\62\r") 

82 buf.write("\62\16\62\u02cf\3\62\3\62\5\62\u02d4\n\62\3\63\3\63\3") 

83 buf.write("\63\3\63\3\63\3\63\5\63\u02dc\n\63\3\63\5\63\u02df\n\63") 

84 buf.write("\3\64\3\64\5\64\u02e3\n\64\3\65\3\65\5\65\u02e7\n\65\3") 

85 buf.write("\65\3\65\3\65\3\66\3\66\5\66\u02ee\n\66\3\66\3\66\3\66") 

86 buf.write("\3\67\3\67\3\67\7\67\u02f6\n\67\f\67\16\67\u02f9\13\67") 

87 buf.write("\38\38\38\78\u02fe\n8\f8\168\u0301\138\39\39\39\59\u0306") 

88 buf.write("\n9\3:\3:\3:\3:\7:\u030c\n:\f:\16:\u030f\13:\3;\3;\3;") 

89 buf.write("\3;\3;\3;\3;\3;\3;\3;\3;\3;\3;\5;\u031e\n;\3<\3<\3<\3") 

90 buf.write("=\3=\3=\7=\u0326\n=\f=\16=\u0329\13=\3>\3>\3>\7>\u032e") 

91 buf.write("\n>\f>\16>\u0331\13>\3?\3?\3?\7?\u0336\n?\f?\16?\u0339") 

92 buf.write("\13?\3@\3@\3@\7@\u033e\n@\f@\16@\u0341\13@\3A\3A\3A\7") 

93 buf.write("A\u0346\nA\fA\16A\u0349\13A\3B\3B\3B\7B\u034e\nB\fB\16") 

94 buf.write("B\u0351\13B\3C\3C\3C\5C\u0356\nC\3D\3D\3D\5D\u035b\nD") 

95 buf.write("\3E\5E\u035e\nE\3E\3E\7E\u0362\nE\fE\16E\u0365\13E\3F") 

96 buf.write("\3F\3F\5F\u036a\nF\3F\3F\3F\5F\u036f\nF\3F\3F\3F\5F\u0374") 

97 buf.write("\nF\3F\3F\3F\3F\6F\u037a\nF\rF\16F\u037b\3F\3F\3F\3F\5") 

98 buf.write("F\u0382\nF\3G\3G\5G\u0386\nG\3G\3G\3G\3G\5G\u038c\nG\7") 

99 buf.write("G\u038e\nG\fG\16G\u0391\13G\3G\5G\u0394\nG\5G\u0396\n") 

100 buf.write("G\3H\3H\5H\u039a\nH\3H\3H\3H\3H\3H\3H\3H\5H\u03a3\nH\3") 

101 buf.write("I\3I\3I\7I\u03a8\nI\fI\16I\u03ab\13I\3I\5I\u03ae\nI\3") 

102 buf.write("J\3J\5J\u03b2\nJ\3J\3J\5J\u03b6\nJ\3J\5J\u03b9\nJ\5J\u03bb") 

103 buf.write("\nJ\3K\3K\5K\u03bf\nK\3L\3L\5L\u03c3\nL\3L\3L\3L\5L\u03c8") 

104 buf.write("\nL\7L\u03ca\nL\fL\16L\u03cd\13L\3L\5L\u03d0\nL\3M\3M") 

105 buf.write("\3M\7M\u03d5\nM\fM\16M\u03d8\13M\3M\5M\u03db\nM\3N\3N") 

106 buf.write("\3N\3N\3N\3N\5N\u03e3\nN\3N\3N\3N\3N\3N\3N\3N\3N\5N\u03ed") 

107 buf.write("\nN\7N\u03ef\nN\fN\16N\u03f2\13N\3N\5N\u03f5\nN\5N\u03f7") 

108 buf.write("\nN\3N\3N\5N\u03fb\nN\3N\3N\3N\3N\5N\u0401\nN\7N\u0403") 

109 buf.write("\nN\fN\16N\u0406\13N\3N\5N\u0409\nN\5N\u040b\nN\5N\u040d") 

110 buf.write("\nN\3O\3O\3O\3O\5O\u0413\nO\3O\5O\u0416\nO\3O\3O\3O\3") 

111 buf.write("P\3P\3P\7P\u041e\nP\fP\16P\u0421\13P\3P\5P\u0424\nP\3") 

112 buf.write("Q\3Q\5Q\u0428\nQ\3Q\3Q\3Q\3Q\3Q\3Q\3Q\3Q\5Q\u0432\nQ\3") 

113 buf.write("R\3R\5R\u0436\nR\3S\5S\u0439\nS\3S\3S\3S\3S\3S\5S\u0440") 

114 buf.write("\nS\3T\3T\3T\5T\u0445\nT\3U\3U\3V\3V\5V\u044b\nV\3W\3") 

115 buf.write("W\3W\5W\u0450\nW\3W\2\2X\2\4\6\b\n\f\16\20\22\24\26\30") 

116 buf.write("\32\34\36 \"$&(*,.\60\62\64\668:<>@BDFHJLNPRTVXZ\\^`b") 

117 buf.write("dfhjlnprtvxz|~\u0080\u0082\u0084\u0086\u0088\u008a\u008c") 

118 buf.write("\u008e\u0090\u0092\u0094\u0096\u0098\u009a\u009c\u009e") 

119 buf.write("\u00a0\u00a2\u00a4\u00a6\u00a8\u00aa\u00ac\2\b\3\2Ua\3") 

120 buf.write("\2\63\64\3\2BC\3\2DE\5\2\65\65FHSS\4\2DEII\2\u04cf\2\u00b3") 

121 buf.write("\3\2\2\2\4\u00b9\3\2\2\2\6\u00be\3\2\2\2\b\u00c7\3\2\2") 

122 buf.write("\2\n\u00d3\3\2\2\2\f\u00d7\3\2\2\2\16\u00dd\3\2\2\2\20") 

123 buf.write("\u00e0\3\2\2\2\22\u00ea\3\2\2\2\24\u0141\3\2\2\2\26\u0143") 

124 buf.write("\3\2\2\2\30\u0199\3\2\2\2\32\u019b\3\2\2\2\34\u019f\3") 

125 buf.write("\2\2\2\36\u01a1\3\2\2\2 \u01b6\3\2\2\2\"\u01b8\3\2\2\2") 

126 buf.write("$\u01cb\3\2\2\2&\u01d3\3\2\2\2(\u01e2\3\2\2\2*\u01e4\3") 

127 buf.write("\2\2\2,\u01e7\3\2\2\2.\u01ee\3\2\2\2\60\u01f0\3\2\2\2") 

128 buf.write("\62\u01f2\3\2\2\2\64\u01f4\3\2\2\2\66\u01f8\3\2\2\28\u01fa") 

129 buf.write("\3\2\2\2:\u0204\3\2\2\2<\u0206\3\2\2\2>\u0209\3\2\2\2") 

130 buf.write("@\u0221\3\2\2\2B\u0226\3\2\2\2D\u022b\3\2\2\2F\u0236\3") 

131 buf.write("\2\2\2H\u023e\3\2\2\2J\u0246\3\2\2\2L\u024f\3\2\2\2N\u0258") 

132 buf.write("\3\2\2\2P\u0267\3\2\2\2R\u0269\3\2\2\2T\u026f\3\2\2\2") 

133 buf.write("V\u0282\3\2\2\2X\u028b\3\2\2\2Z\u0296\3\2\2\2\\\u02b0") 

134 buf.write("\3\2\2\2^\u02bc\3\2\2\2`\u02c1\3\2\2\2b\u02d3\3\2\2\2") 

135 buf.write("d\u02de\3\2\2\2f\u02e2\3\2\2\2h\u02e4\3\2\2\2j\u02eb\3") 

136 buf.write("\2\2\2l\u02f2\3\2\2\2n\u02fa\3\2\2\2p\u0305\3\2\2\2r\u0307") 

137 buf.write("\3\2\2\2t\u031d\3\2\2\2v\u031f\3\2\2\2x\u0322\3\2\2\2") 

138 buf.write("z\u032a\3\2\2\2|\u0332\3\2\2\2~\u033a\3\2\2\2\u0080\u0342") 

139 buf.write("\3\2\2\2\u0082\u034a\3\2\2\2\u0084\u0355\3\2\2\2\u0086") 

140 buf.write("\u0357\3\2\2\2\u0088\u035d\3\2\2\2\u008a\u0381\3\2\2\2") 

141 buf.write("\u008c\u0385\3\2\2\2\u008e\u03a2\3\2\2\2\u0090\u03a4\3") 

142 buf.write("\2\2\2\u0092\u03ba\3\2\2\2\u0094\u03bc\3\2\2\2\u0096\u03c2") 

143 buf.write("\3\2\2\2\u0098\u03d1\3\2\2\2\u009a\u040c\3\2\2\2\u009c") 

144 buf.write("\u040e\3\2\2\2\u009e\u041a\3\2\2\2\u00a0\u0431\3\2\2\2") 

145 buf.write("\u00a2\u0435\3\2\2\2\u00a4\u0438\3\2\2\2\u00a6\u0441\3") 

146 buf.write("\2\2\2\u00a8\u0446\3\2\2\2\u00aa\u0448\3\2\2\2\u00ac\u044f") 

147 buf.write("\3\2\2\2\u00ae\u00b4\7)\2\2\u00af\u00b4\5\36\20\2\u00b0") 

148 buf.write("\u00b1\5P)\2\u00b1\u00b2\7)\2\2\u00b2\u00b4\3\2\2\2\u00b3") 

149 buf.write("\u00ae\3\2\2\2\u00b3\u00af\3\2\2\2\u00b3\u00b0\3\2\2\2") 

150 buf.write("\u00b4\3\3\2\2\2\u00b5\u00b8\7)\2\2\u00b6\u00b8\5\34\17") 

151 buf.write("\2\u00b7\u00b5\3\2\2\2\u00b7\u00b6\3\2\2\2\u00b8\u00bb") 

152 buf.write("\3\2\2\2\u00b9\u00b7\3\2\2\2\u00b9\u00ba\3\2\2\2\u00ba") 

153 buf.write("\u00bc\3\2\2\2\u00bb\u00b9\3\2\2\2\u00bc\u00bd\7\2\2\3") 

154 buf.write("\u00bd\5\3\2\2\2\u00be\u00c2\5\u0098M\2\u00bf\u00c1\7") 

155 buf.write(")\2\2\u00c0\u00bf\3\2\2\2\u00c1\u00c4\3\2\2\2\u00c2\u00c0") 

156 buf.write("\3\2\2\2\u00c2\u00c3\3\2\2\2\u00c3\u00c5\3\2\2\2\u00c4") 

157 buf.write("\u00c2\3\2\2\2\u00c5\u00c6\7\2\2\3\u00c6\7\3\2\2\2\u00c7") 

158 buf.write("\u00c8\7S\2\2\u00c8\u00ce\5H%\2\u00c9\u00cb\7\66\2\2\u00ca") 

159 buf.write("\u00cc\5\u009eP\2\u00cb\u00ca\3\2\2\2\u00cb\u00cc\3\2") 

160 buf.write("\2\2\u00cc\u00cd\3\2\2\2\u00cd\u00cf\7\67\2\2\u00ce\u00c9") 

161 buf.write("\3\2\2\2\u00ce\u00cf\3\2\2\2\u00cf\u00d0\3\2\2\2\u00d0") 

162 buf.write("\u00d1\7)\2\2\u00d1\t\3\2\2\2\u00d2\u00d4\5\b\5\2\u00d3") 

163 buf.write("\u00d2\3\2\2\2\u00d4\u00d5\3\2\2\2\u00d5\u00d3\3\2\2\2") 

164 buf.write("\u00d5\u00d6\3\2\2\2\u00d6\13\3\2\2\2\u00d7\u00db\5\n") 

165 buf.write("\6\2\u00d8\u00dc\5\u009cO\2\u00d9\u00dc\5\20\t\2\u00da") 

166 buf.write("\u00dc\5\16\b\2\u00db\u00d8\3\2\2\2\u00db\u00d9\3\2\2") 

167 buf.write("\2\u00db\u00da\3\2\2\2\u00dc\r\3\2\2\2\u00dd\u00de\7\'") 

168 buf.write("\2\2\u00de\u00df\5\20\t\2\u00df\17\3\2\2\2\u00e0\u00e1") 

169 buf.write("\7\6\2\2\u00e1\u00e2\7*\2\2\u00e2\u00e5\5\22\n\2\u00e3") 

170 buf.write("\u00e4\7T\2\2\u00e4\u00e6\5d\63\2\u00e5\u00e3\3\2\2\2") 

171 buf.write("\u00e5\u00e6\3\2\2\2\u00e6\u00e7\3\2\2\2\u00e7\u00e8\7") 

172 buf.write("9\2\2\u00e8\u00e9\5b\62\2\u00e9\21\3\2\2\2\u00ea\u00ec") 

173 buf.write("\7\66\2\2\u00eb\u00ed\5\24\13\2\u00ec\u00eb\3\2\2\2\u00ec") 

174 buf.write("\u00ed\3\2\2\2\u00ed\u00ee\3\2\2\2\u00ee\u00ef\7\67\2") 

175 buf.write("\2\u00ef\23\3\2\2\2\u00f0\u00f3\5\26\f\2\u00f1\u00f2\7") 

176 buf.write("<\2\2\u00f2\u00f4\5d\63\2\u00f3\u00f1\3\2\2\2\u00f3\u00f4") 

177 buf.write("\3\2\2\2\u00f4\u00fd\3\2\2\2\u00f5\u00f6\78\2\2\u00f6") 

178 buf.write("\u00f9\5\26\f\2\u00f7\u00f8\7<\2\2\u00f8\u00fa\5d\63\2") 

179 buf.write("\u00f9\u00f7\3\2\2\2\u00f9\u00fa\3\2\2\2\u00fa\u00fc\3") 

180 buf.write("\2\2\2\u00fb\u00f5\3\2\2\2\u00fc\u00ff\3\2\2\2\u00fd\u00fb") 

181 buf.write("\3\2\2\2\u00fd\u00fe\3\2\2\2\u00fe\u0121\3\2\2\2\u00ff") 

182 buf.write("\u00fd\3\2\2\2\u0100\u011f\78\2\2\u0101\u0103\7\65\2\2") 

183 buf.write("\u0102\u0104\5\26\f\2\u0103\u0102\3\2\2\2\u0103\u0104") 

184 buf.write("\3\2\2\2\u0104\u010d\3\2\2\2\u0105\u0106\78\2\2\u0106") 

185 buf.write("\u0109\5\26\f\2\u0107\u0108\7<\2\2\u0108\u010a\5d\63\2") 

186 buf.write("\u0109\u0107\3\2\2\2\u0109\u010a\3\2\2\2\u010a\u010c\3") 

187 buf.write("\2\2\2\u010b\u0105\3\2\2\2\u010c\u010f\3\2\2\2\u010d\u010b") 

188 buf.write("\3\2\2\2\u010d\u010e\3\2\2\2\u010e\u0118\3\2\2\2\u010f") 

189 buf.write("\u010d\3\2\2\2\u0110\u0116\78\2\2\u0111\u0112\7;\2\2\u0112") 

190 buf.write("\u0114\5\26\f\2\u0113\u0115\78\2\2\u0114\u0113\3\2\2\2") 

191 buf.write("\u0114\u0115\3\2\2\2\u0115\u0117\3\2\2\2\u0116\u0111\3") 

192 buf.write("\2\2\2\u0116\u0117\3\2\2\2\u0117\u0119\3\2\2\2\u0118\u0110") 

193 buf.write("\3\2\2\2\u0118\u0119\3\2\2\2\u0119\u0120\3\2\2\2\u011a") 

194 buf.write("\u011b\7;\2\2\u011b\u011d\5\26\f\2\u011c\u011e\78\2\2") 

195 buf.write("\u011d\u011c\3\2\2\2\u011d\u011e\3\2\2\2\u011e\u0120\3") 

196 buf.write("\2\2\2\u011f\u0101\3\2\2\2\u011f\u011a\3\2\2\2\u011f\u0120") 

197 buf.write("\3\2\2\2\u0120\u0122\3\2\2\2\u0121\u0100\3\2\2\2\u0121") 

198 buf.write("\u0122\3\2\2\2\u0122\u0142\3\2\2\2\u0123\u0125\7\65\2") 

199 buf.write("\2\u0124\u0126\5\26\f\2\u0125\u0124\3\2\2\2\u0125\u0126") 

200 buf.write("\3\2\2\2\u0126\u012f\3\2\2\2\u0127\u0128\78\2\2\u0128") 

201 buf.write("\u012b\5\26\f\2\u0129\u012a\7<\2\2\u012a\u012c\5d\63\2") 

202 buf.write("\u012b\u0129\3\2\2\2\u012b\u012c\3\2\2\2\u012c\u012e\3") 

203 buf.write("\2\2\2\u012d\u0127\3\2\2\2\u012e\u0131\3\2\2\2\u012f\u012d") 

204 buf.write("\3\2\2\2\u012f\u0130\3\2\2\2\u0130\u013a\3\2\2\2\u0131") 

205 buf.write("\u012f\3\2\2\2\u0132\u0138\78\2\2\u0133\u0134\7;\2\2\u0134") 

206 buf.write("\u0136\5\26\f\2\u0135\u0137\78\2\2\u0136\u0135\3\2\2\2") 

207 buf.write("\u0136\u0137\3\2\2\2\u0137\u0139\3\2\2\2\u0138\u0133\3") 

208 buf.write("\2\2\2\u0138\u0139\3\2\2\2\u0139\u013b\3\2\2\2\u013a\u0132") 

209 buf.write("\3\2\2\2\u013a\u013b\3\2\2\2\u013b\u0142\3\2\2\2\u013c") 

210 buf.write("\u013d\7;\2\2\u013d\u013f\5\26\f\2\u013e\u0140\78\2\2") 

211 buf.write("\u013f\u013e\3\2\2\2\u013f\u0140\3\2\2\2\u0140\u0142\3") 

212 buf.write("\2\2\2\u0141\u00f0\3\2\2\2\u0141\u0123\3\2\2\2\u0141\u013c") 

213 buf.write("\3\2\2\2\u0142\25\3\2\2\2\u0143\u0146\7*\2\2\u0144\u0145") 

214 buf.write("\79\2\2\u0145\u0147\5d\63\2\u0146\u0144\3\2\2\2\u0146") 

215 buf.write("\u0147\3\2\2\2\u0147\27\3\2\2\2\u0148\u014b\5\32\16\2") 

216 buf.write("\u0149\u014a\7<\2\2\u014a\u014c\5d\63\2\u014b\u0149\3") 

217 buf.write("\2\2\2\u014b\u014c\3\2\2\2\u014c\u0155\3\2\2\2\u014d\u014e") 

218 buf.write("\78\2\2\u014e\u0151\5\32\16\2\u014f\u0150\7<\2\2\u0150") 

219 buf.write("\u0152\5d\63\2\u0151\u014f\3\2\2\2\u0151\u0152\3\2\2\2") 

220 buf.write("\u0152\u0154\3\2\2\2\u0153\u014d\3\2\2\2\u0154\u0157\3") 

221 buf.write("\2\2\2\u0155\u0153\3\2\2\2\u0155\u0156\3\2\2\2\u0156\u0179") 

222 buf.write("\3\2\2\2\u0157\u0155\3\2\2\2\u0158\u0177\78\2\2\u0159") 

223 buf.write("\u015b\7\65\2\2\u015a\u015c\5\32\16\2\u015b\u015a\3\2") 

224 buf.write("\2\2\u015b\u015c\3\2\2\2\u015c\u0165\3\2\2\2\u015d\u015e") 

225 buf.write("\78\2\2\u015e\u0161\5\32\16\2\u015f\u0160\7<\2\2\u0160") 

226 buf.write("\u0162\5d\63\2\u0161\u015f\3\2\2\2\u0161\u0162\3\2\2\2") 

227 buf.write("\u0162\u0164\3\2\2\2\u0163\u015d\3\2\2\2\u0164\u0167\3") 

228 buf.write("\2\2\2\u0165\u0163\3\2\2\2\u0165\u0166\3\2\2\2\u0166\u0170") 

229 buf.write("\3\2\2\2\u0167\u0165\3\2\2\2\u0168\u016e\78\2\2\u0169") 

230 buf.write("\u016a\7;\2\2\u016a\u016c\5\32\16\2\u016b\u016d\78\2\2") 

231 buf.write("\u016c\u016b\3\2\2\2\u016c\u016d\3\2\2\2\u016d\u016f\3") 

232 buf.write("\2\2\2\u016e\u0169\3\2\2\2\u016e\u016f\3\2\2\2\u016f\u0171") 

233 buf.write("\3\2\2\2\u0170\u0168\3\2\2\2\u0170\u0171\3\2\2\2\u0171") 

234 buf.write("\u0178\3\2\2\2\u0172\u0173\7;\2\2\u0173\u0175\5\32\16") 

235 buf.write("\2\u0174\u0176\78\2\2\u0175\u0174\3\2\2\2\u0175\u0176") 

236 buf.write("\3\2\2\2\u0176\u0178\3\2\2\2\u0177\u0159\3\2\2\2\u0177") 

237 buf.write("\u0172\3\2\2\2\u0177\u0178\3\2\2\2\u0178\u017a\3\2\2\2") 

238 buf.write("\u0179\u0158\3\2\2\2\u0179\u017a\3\2\2\2\u017a\u019a\3") 

239 buf.write("\2\2\2\u017b\u017d\7\65\2\2\u017c\u017e\5\32\16\2\u017d") 

240 buf.write("\u017c\3\2\2\2\u017d\u017e\3\2\2\2\u017e\u0187\3\2\2\2") 

241 buf.write("\u017f\u0180\78\2\2\u0180\u0183\5\32\16\2\u0181\u0182") 

242 buf.write("\7<\2\2\u0182\u0184\5d\63\2\u0183\u0181\3\2\2\2\u0183") 

243 buf.write("\u0184\3\2\2\2\u0184\u0186\3\2\2\2\u0185\u017f\3\2\2\2") 

244 buf.write("\u0186\u0189\3\2\2\2\u0187\u0185\3\2\2\2\u0187\u0188\3") 

245 buf.write("\2\2\2\u0188\u0192\3\2\2\2\u0189\u0187\3\2\2\2\u018a\u0190") 

246 buf.write("\78\2\2\u018b\u018c\7;\2\2\u018c\u018e\5\32\16\2\u018d") 

247 buf.write("\u018f\78\2\2\u018e\u018d\3\2\2\2\u018e\u018f\3\2\2\2") 

248 buf.write("\u018f\u0191\3\2\2\2\u0190\u018b\3\2\2\2\u0190\u0191\3") 

249 buf.write("\2\2\2\u0191\u0193\3\2\2\2\u0192\u018a\3\2\2\2\u0192\u0193") 

250 buf.write("\3\2\2\2\u0193\u019a\3\2\2\2\u0194\u0195\7;\2\2\u0195") 

251 buf.write("\u0197\5\32\16\2\u0196\u0198\78\2\2\u0197\u0196\3\2\2") 

252 buf.write("\2\u0197\u0198\3\2\2\2\u0198\u019a\3\2\2\2\u0199\u0148") 

253 buf.write("\3\2\2\2\u0199\u017b\3\2\2\2\u0199\u0194\3\2\2\2\u019a") 

254 buf.write("\31\3\2\2\2\u019b\u019c\7*\2\2\u019c\33\3\2\2\2\u019d") 

255 buf.write("\u01a0\5\36\20\2\u019e\u01a0\5P)\2\u019f\u019d\3\2\2\2") 

256 buf.write("\u019f\u019e\3\2\2\2\u01a0\35\3\2\2\2\u01a1\u01a6\5 \21") 

257 buf.write("\2\u01a2\u01a3\7:\2\2\u01a3\u01a5\5 \21\2\u01a4\u01a2") 

258 buf.write("\3\2\2\2\u01a5\u01a8\3\2\2\2\u01a6\u01a4\3\2\2\2\u01a6") 

259 buf.write("\u01a7\3\2\2\2\u01a7\u01aa\3\2\2\2\u01a8\u01a6\3\2\2\2") 

260 buf.write("\u01a9\u01ab\7:\2\2\u01aa\u01a9\3\2\2\2\u01aa\u01ab\3") 

261 buf.write("\2\2\2\u01ab\u01ac\3\2\2\2\u01ac\u01ad\7)\2\2\u01ad\37") 

262 buf.write("\3\2\2\2\u01ae\u01b7\5\"\22\2\u01af\u01b7\5*\26\2\u01b0") 

263 buf.write("\u01b7\5,\27\2\u01b1\u01b7\5.\30\2\u01b2\u01b7\5:\36\2") 

264 buf.write("\u01b3\u01b7\5J&\2\u01b4\u01b7\5L\'\2\u01b5\u01b7\5N(") 

265 buf.write("\2\u01b6\u01ae\3\2\2\2\u01b6\u01af\3\2\2\2\u01b6\u01b0") 

266 buf.write("\3\2\2\2\u01b6\u01b1\3\2\2\2\u01b6\u01b2\3\2\2\2\u01b6") 

267 buf.write("\u01b3\3\2\2\2\u01b6\u01b4\3\2\2\2\u01b6\u01b5\3\2\2\2") 

268 buf.write("\u01b7!\3\2\2\2\u01b8\u01c9\5&\24\2\u01b9\u01ca\5$\23") 

269 buf.write("\2\u01ba\u01bd\5(\25\2\u01bb\u01be\5\u00aaV\2\u01bc\u01be") 

270 buf.write("\5\u0098M\2\u01bd\u01bb\3\2\2\2\u01bd\u01bc\3\2\2\2\u01be") 

271 buf.write("\u01ca\3\2\2\2\u01bf\u01c2\7<\2\2\u01c0\u01c3\5\u00aa") 

272 buf.write("V\2\u01c1\u01c3\5&\24\2\u01c2\u01c0\3\2\2\2\u01c2\u01c1") 

273 buf.write("\3\2\2\2\u01c3\u01c5\3\2\2\2\u01c4\u01bf\3\2\2\2\u01c5") 

274 buf.write("\u01c8\3\2\2\2\u01c6\u01c4\3\2\2\2\u01c6\u01c7\3\2\2\2") 

275 buf.write("\u01c7\u01ca\3\2\2\2\u01c8\u01c6\3\2\2\2\u01c9\u01b9\3") 

276 buf.write("\2\2\2\u01c9\u01ba\3\2\2\2\u01c9\u01c6\3\2\2\2\u01ca#") 

277 buf.write("\3\2\2\2\u01cb\u01cc\79\2\2\u01cc\u01cf\5d\63\2\u01cd") 

278 buf.write("\u01ce\7<\2\2\u01ce\u01d0\5d\63\2\u01cf\u01cd\3\2\2\2") 

279 buf.write("\u01cf\u01d0\3\2\2\2\u01d0%\3\2\2\2\u01d1\u01d4\5d\63") 

280 buf.write("\2\u01d2\u01d4\5v<\2\u01d3\u01d1\3\2\2\2\u01d3\u01d2\3") 

281 buf.write("\2\2\2\u01d4\u01dc\3\2\2\2\u01d5\u01d8\78\2\2\u01d6\u01d9") 

282 buf.write("\5d\63\2\u01d7\u01d9\5v<\2\u01d8\u01d6\3\2\2\2\u01d8\u01d7") 

283 buf.write("\3\2\2\2\u01d9\u01db\3\2\2\2\u01da\u01d5\3\2\2\2\u01db") 

284 buf.write("\u01de\3\2\2\2\u01dc\u01da\3\2\2\2\u01dc\u01dd\3\2\2\2") 

285 buf.write("\u01dd\u01e0\3\2\2\2\u01de\u01dc\3\2\2\2\u01df\u01e1\7") 

286 buf.write("8\2\2\u01e0\u01df\3\2\2\2\u01e0\u01e1\3\2\2\2\u01e1\'") 

287 buf.write("\3\2\2\2\u01e2\u01e3\t\2\2\2\u01e3)\3\2\2\2\u01e4\u01e5") 

288 buf.write("\7#\2\2\u01e5\u01e6\5\u0096L\2\u01e6+\3\2\2\2\u01e7\u01e8") 

289 buf.write("\7$\2\2\u01e8-\3\2\2\2\u01e9\u01ef\5\60\31\2\u01ea\u01ef") 

290 buf.write("\5\62\32\2\u01eb\u01ef\5\64\33\2\u01ec\u01ef\58\35\2\u01ed") 

291 buf.write("\u01ef\5\66\34\2\u01ee\u01e9\3\2\2\2\u01ee\u01ea\3\2\2") 

292 buf.write("\2\u01ee\u01eb\3\2\2\2\u01ee\u01ec\3\2\2\2\u01ee\u01ed") 

293 buf.write("\3\2\2\2\u01ef/\3\2\2\2\u01f0\u01f1\7&\2\2\u01f1\61\3") 

294 buf.write("\2\2\2\u01f2\u01f3\7%\2\2\u01f3\63\3\2\2\2\u01f4\u01f6") 

295 buf.write("\7\7\2\2\u01f5\u01f7\5\u0098M\2\u01f6\u01f5\3\2\2\2\u01f6") 

296 buf.write("\u01f7\3\2\2\2\u01f7\65\3\2\2\2\u01f8\u01f9\5\u00aaV\2") 

297 buf.write("\u01f9\67\3\2\2\2\u01fa\u0200\7\b\2\2\u01fb\u01fe\5d\63") 

298 buf.write("\2\u01fc\u01fd\7\t\2\2\u01fd\u01ff\5d\63\2\u01fe\u01fc") 

299 buf.write("\3\2\2\2\u01fe\u01ff\3\2\2\2\u01ff\u0201\3\2\2\2\u0200") 

300 buf.write("\u01fb\3\2\2\2\u0200\u0201\3\2\2\2\u02019\3\2\2\2\u0202") 

301 buf.write("\u0205\5<\37\2\u0203\u0205\5> \2\u0204\u0202\3\2\2\2\u0204") 

302 buf.write("\u0203\3\2\2\2\u0205;\3\2\2\2\u0206\u0207\7\n\2\2\u0207") 

303 buf.write("\u0208\5F$\2\u0208=\3\2\2\2\u0209\u0216\7\t\2\2\u020a") 

304 buf.write("\u020c\t\3\2\2\u020b\u020a\3\2\2\2\u020c\u020f\3\2\2\2") 

305 buf.write("\u020d\u020b\3\2\2\2\u020d\u020e\3\2\2\2\u020e\u0210\3") 

306 buf.write("\2\2\2\u020f\u020d\3\2\2\2\u0210\u0217\5H%\2\u0211\u0213") 

307 buf.write("\t\3\2\2\u0212\u0211\3\2\2\2\u0213\u0214\3\2\2\2\u0214") 

308 buf.write("\u0212\3\2\2\2\u0214\u0215\3\2\2\2\u0215\u0217\3\2\2\2") 

309 buf.write("\u0216\u020d\3\2\2\2\u0216\u0212\3\2\2\2\u0217\u0218\3") 

310 buf.write("\2\2\2\u0218\u021f\7\n\2\2\u0219\u0220\7\65\2\2\u021a") 

311 buf.write("\u021b\7\66\2\2\u021b\u021c\5D#\2\u021c\u021d\7\67\2\2") 

312 buf.write("\u021d\u0220\3\2\2\2\u021e\u0220\5D#\2\u021f\u0219\3\2") 

313 buf.write("\2\2\u021f\u021a\3\2\2\2\u021f\u021e\3\2\2\2\u0220?\3") 

314 buf.write("\2\2\2\u0221\u0224\7*\2\2\u0222\u0223\7\13\2\2\u0223\u0225") 

315 buf.write("\7*\2\2\u0224\u0222\3\2\2\2\u0224\u0225\3\2\2\2\u0225") 

316 buf.write("A\3\2\2\2\u0226\u0229\5H%\2\u0227\u0228\7\13\2\2\u0228") 

317 buf.write("\u022a\7*\2\2\u0229\u0227\3\2\2\2\u0229\u022a\3\2\2\2") 

318 buf.write("\u022aC\3\2\2\2\u022b\u0230\5@!\2\u022c\u022d\78\2\2\u022d") 

319 buf.write("\u022f\5@!\2\u022e\u022c\3\2\2\2\u022f\u0232\3\2\2\2\u0230") 

320 buf.write("\u022e\3\2\2\2\u0230\u0231\3\2\2\2\u0231\u0234\3\2\2\2") 

321 buf.write("\u0232\u0230\3\2\2\2\u0233\u0235\78\2\2\u0234\u0233\3") 

322 buf.write("\2\2\2\u0234\u0235\3\2\2\2\u0235E\3\2\2\2\u0236\u023b") 

323 buf.write("\5B\"\2\u0237\u0238\78\2\2\u0238\u023a\5B\"\2\u0239\u0237") 

324 buf.write("\3\2\2\2\u023a\u023d\3\2\2\2\u023b\u0239\3\2\2\2\u023b") 

325 buf.write("\u023c\3\2\2\2\u023cG\3\2\2\2\u023d\u023b\3\2\2\2\u023e") 

326 buf.write("\u0243\7*\2\2\u023f\u0240\7\63\2\2\u0240\u0242\7*\2\2") 

327 buf.write("\u0241\u023f\3\2\2\2\u0242\u0245\3\2\2\2\u0243\u0241\3") 

328 buf.write("\2\2\2\u0243\u0244\3\2\2\2\u0244I\3\2\2\2\u0245\u0243") 

329 buf.write("\3\2\2\2\u0246\u0247\7\f\2\2\u0247\u024c\7*\2\2\u0248") 

330 buf.write("\u0249\78\2\2\u0249\u024b\7*\2\2\u024a\u0248\3\2\2\2\u024b") 

331 buf.write("\u024e\3\2\2\2\u024c\u024a\3\2\2\2\u024c\u024d\3\2\2\2") 

332 buf.write("\u024dK\3\2\2\2\u024e\u024c\3\2\2\2\u024f\u0250\7\r\2") 

333 buf.write("\2\u0250\u0255\7*\2\2\u0251\u0252\78\2\2\u0252\u0254\7") 

334 buf.write("*\2\2\u0253\u0251\3\2\2\2\u0254\u0257\3\2\2\2\u0255\u0253") 

335 buf.write("\3\2\2\2\u0255\u0256\3\2\2\2\u0256M\3\2\2\2\u0257\u0255") 

336 buf.write("\3\2\2\2\u0258\u0259\7\16\2\2\u0259\u025c\5d\63\2\u025a") 

337 buf.write("\u025b\78\2\2\u025b\u025d\5d\63\2\u025c\u025a\3\2\2\2") 

338 buf.write("\u025c\u025d\3\2\2\2\u025dO\3\2\2\2\u025e\u0268\5T+\2") 

339 buf.write("\u025f\u0268\5V,\2\u0260\u0268\5X-\2\u0261\u0268\5Z.\2") 

340 buf.write("\u0262\u0268\5\\/\2\u0263\u0268\5\20\t\2\u0264\u0268\5") 

341 buf.write("\u009cO\2\u0265\u0268\5\f\7\2\u0266\u0268\5R*\2\u0267") 

342 buf.write("\u025e\3\2\2\2\u0267\u025f\3\2\2\2\u0267\u0260\3\2\2\2") 

343 buf.write("\u0267\u0261\3\2\2\2\u0267\u0262\3\2\2\2\u0267\u0263\3") 

344 buf.write("\2\2\2\u0267\u0264\3\2\2\2\u0267\u0265\3\2\2\2\u0267\u0266") 

345 buf.write("\3\2\2\2\u0268Q\3\2\2\2\u0269\u026d\7\'\2\2\u026a\u026e") 

346 buf.write("\5\20\t\2\u026b\u026e\5\\/\2\u026c\u026e\5X-\2\u026d\u026a") 

347 buf.write("\3\2\2\2\u026d\u026b\3\2\2\2\u026d\u026c\3\2\2\2\u026e") 

348 buf.write("S\3\2\2\2\u026f\u0270\7\17\2\2\u0270\u0271\5d\63\2\u0271") 

349 buf.write("\u0272\79\2\2\u0272\u027a\5b\62\2\u0273\u0274\7\20\2\2") 

350 buf.write("\u0274\u0275\5d\63\2\u0275\u0276\79\2\2\u0276\u0277\5") 

351 buf.write("b\62\2\u0277\u0279\3\2\2\2\u0278\u0273\3\2\2\2\u0279\u027c") 

352 buf.write("\3\2\2\2\u027a\u0278\3\2\2\2\u027a\u027b\3\2\2\2\u027b") 

353 buf.write("\u0280\3\2\2\2\u027c\u027a\3\2\2\2\u027d\u027e\7\21\2") 

354 buf.write("\2\u027e\u027f\79\2\2\u027f\u0281\5b\62\2\u0280\u027d") 

355 buf.write("\3\2\2\2\u0280\u0281\3\2\2\2\u0281U\3\2\2\2\u0282\u0283") 

356 buf.write("\7\22\2\2\u0283\u0284\5d\63\2\u0284\u0285\79\2\2\u0285") 

357 buf.write("\u0289\5b\62\2\u0286\u0287\7\21\2\2\u0287\u0288\79\2\2") 

358 buf.write("\u0288\u028a\5b\62\2\u0289\u0286\3\2\2\2\u0289\u028a\3") 

359 buf.write("\2\2\2\u028aW\3\2\2\2\u028b\u028c\7\23\2\2\u028c\u028d") 

360 buf.write("\5\u0096L\2\u028d\u028e\7\24\2\2\u028e\u028f\5\u0098M") 

361 buf.write("\2\u028f\u0290\79\2\2\u0290\u0294\5b\62\2\u0291\u0292") 

362 buf.write("\7\21\2\2\u0292\u0293\79\2\2\u0293\u0295\5b\62\2\u0294") 

363 buf.write("\u0291\3\2\2\2\u0294\u0295\3\2\2\2\u0295Y\3\2\2\2\u0296") 

364 buf.write("\u0297\7\25\2\2\u0297\u0298\79\2\2\u0298\u02ae\5b\62\2") 

365 buf.write("\u0299\u029a\5`\61\2\u029a\u029b\79\2\2\u029b\u029c\5") 

366 buf.write("b\62\2\u029c\u029e\3\2\2\2\u029d\u0299\3\2\2\2\u029e\u029f") 

367 buf.write("\3\2\2\2\u029f\u029d\3\2\2\2\u029f\u02a0\3\2\2\2\u02a0") 

368 buf.write("\u02a4\3\2\2\2\u02a1\u02a2\7\21\2\2\u02a2\u02a3\79\2\2") 

369 buf.write("\u02a3\u02a5\5b\62\2\u02a4\u02a1\3\2\2\2\u02a4\u02a5\3") 

370 buf.write("\2\2\2\u02a5\u02a9\3\2\2\2\u02a6\u02a7\7\26\2\2\u02a7") 

371 buf.write("\u02a8\79\2\2\u02a8\u02aa\5b\62\2\u02a9\u02a6\3\2\2\2") 

372 buf.write("\u02a9\u02aa\3\2\2\2\u02aa\u02af\3\2\2\2\u02ab\u02ac\7") 

373 buf.write("\26\2\2\u02ac\u02ad\79\2\2\u02ad\u02af\5b\62\2\u02ae\u029d") 

374 buf.write("\3\2\2\2\u02ae\u02ab\3\2\2\2\u02af[\3\2\2\2\u02b0\u02b1") 

375 buf.write("\7\27\2\2\u02b1\u02b6\5^\60\2\u02b2\u02b3\78\2\2\u02b3") 

376 buf.write("\u02b5\5^\60\2\u02b4\u02b2\3\2\2\2\u02b5\u02b8\3\2\2\2") 

377 buf.write("\u02b6\u02b4\3\2\2\2\u02b6\u02b7\3\2\2\2\u02b7\u02b9\3") 

378 buf.write("\2\2\2\u02b8\u02b6\3\2\2\2\u02b9\u02ba\79\2\2\u02ba\u02bb") 

379 buf.write("\5b\62\2\u02bb]\3\2\2\2\u02bc\u02bf\5d\63\2\u02bd\u02be") 

380 buf.write("\7\13\2\2\u02be\u02c0\5x=\2\u02bf\u02bd\3\2\2\2\u02bf") 

381 buf.write("\u02c0\3\2\2\2\u02c0_\3\2\2\2\u02c1\u02c7\7\30\2\2\u02c2") 

382 buf.write("\u02c5\5d\63\2\u02c3\u02c4\7\13\2\2\u02c4\u02c6\7*\2\2") 

383 buf.write("\u02c5\u02c3\3\2\2\2\u02c5\u02c6\3\2\2\2\u02c6\u02c8\3") 

384 buf.write("\2\2\2\u02c7\u02c2\3\2\2\2\u02c7\u02c8\3\2\2\2\u02c8a") 

385 buf.write("\3\2\2\2\u02c9\u02d4\5\36\20\2\u02ca\u02cb\7)\2\2\u02cb") 

386 buf.write("\u02cd\7d\2\2\u02cc\u02ce\5\34\17\2\u02cd\u02cc\3\2\2") 

387 buf.write("\2\u02ce\u02cf\3\2\2\2\u02cf\u02cd\3\2\2\2\u02cf\u02d0") 

388 buf.write("\3\2\2\2\u02d0\u02d1\3\2\2\2\u02d1\u02d2\7e\2\2\u02d2") 

389 buf.write("\u02d4\3\2\2\2\u02d3\u02c9\3\2\2\2\u02d3\u02ca\3\2\2\2") 

390 buf.write("\u02d4c\3\2\2\2\u02d5\u02db\5l\67\2\u02d6\u02d7\7\17\2") 

391 buf.write("\2\u02d7\u02d8\5l\67\2\u02d8\u02d9\7\21\2\2\u02d9\u02da") 

392 buf.write("\5d\63\2\u02da\u02dc\3\2\2\2\u02db\u02d6\3\2\2\2\u02db") 

393 buf.write("\u02dc\3\2\2\2\u02dc\u02df\3\2\2\2\u02dd\u02df\5h\65\2") 

394 buf.write("\u02de\u02d5\3\2\2\2\u02de\u02dd\3\2\2\2\u02dfe\3\2\2") 

395 buf.write("\2\u02e0\u02e3\5l\67\2\u02e1\u02e3\5j\66\2\u02e2\u02e0") 

396 buf.write("\3\2\2\2\u02e2\u02e1\3\2\2\2\u02e3g\3\2\2\2\u02e4\u02e6") 

397 buf.write("\7\31\2\2\u02e5\u02e7\5\30\r\2\u02e6\u02e5\3\2\2\2\u02e6") 

398 buf.write("\u02e7\3\2\2\2\u02e7\u02e8\3\2\2\2\u02e8\u02e9\79\2\2") 

399 buf.write("\u02e9\u02ea\5d\63\2\u02eai\3\2\2\2\u02eb\u02ed\7\31\2") 

400 buf.write("\2\u02ec\u02ee\5\30\r\2\u02ed\u02ec\3\2\2\2\u02ed\u02ee") 

401 buf.write("\3\2\2\2\u02ee\u02ef\3\2\2\2\u02ef\u02f0\79\2\2\u02f0") 

402 buf.write("\u02f1\5f\64\2\u02f1k\3\2\2\2\u02f2\u02f7\5n8\2\u02f3") 

403 buf.write("\u02f4\7\32\2\2\u02f4\u02f6\5n8\2\u02f5\u02f3\3\2\2\2") 

404 buf.write("\u02f6\u02f9\3\2\2\2\u02f7\u02f5\3\2\2\2\u02f7\u02f8\3") 

405 buf.write("\2\2\2\u02f8m\3\2\2\2\u02f9\u02f7\3\2\2\2\u02fa\u02ff") 

406 buf.write("\5p9\2\u02fb\u02fc\7\33\2\2\u02fc\u02fe\5p9\2\u02fd\u02fb") 

407 buf.write("\3\2\2\2\u02fe\u0301\3\2\2\2\u02ff\u02fd\3\2\2\2\u02ff") 

408 buf.write("\u0300\3\2\2\2\u0300o\3\2\2\2\u0301\u02ff\3\2\2\2\u0302") 

409 buf.write("\u0303\7\34\2\2\u0303\u0306\5p9\2\u0304\u0306\5r:\2\u0305") 

410 buf.write("\u0302\3\2\2\2\u0305\u0304\3\2\2\2\u0306q\3\2\2\2\u0307") 

411 buf.write("\u030d\5x=\2\u0308\u0309\5t;\2\u0309\u030a\5x=\2\u030a") 

412 buf.write("\u030c\3\2\2\2\u030b\u0308\3\2\2\2\u030c\u030f\3\2\2\2") 

413 buf.write("\u030d\u030b\3\2\2\2\u030d\u030e\3\2\2\2\u030es\3\2\2") 

414 buf.write("\2\u030f\u030d\3\2\2\2\u0310\u031e\7L\2\2\u0311\u031e") 

415 buf.write("\7M\2\2\u0312\u031e\7N\2\2\u0313\u031e\7O\2\2\u0314\u031e") 

416 buf.write("\7P\2\2\u0315\u031e\7Q\2\2\u0316\u031e\7R\2\2\u0317\u031e") 

417 buf.write("\7\24\2\2\u0318\u0319\7\34\2\2\u0319\u031e\7\24\2\2\u031a") 

418 buf.write("\u031e\7\35\2\2\u031b\u031c\7\35\2\2\u031c\u031e\7\34") 

419 buf.write("\2\2\u031d\u0310\3\2\2\2\u031d\u0311\3\2\2\2\u031d\u0312") 

420 buf.write("\3\2\2\2\u031d\u0313\3\2\2\2\u031d\u0314\3\2\2\2\u031d") 

421 buf.write("\u0315\3\2\2\2\u031d\u0316\3\2\2\2\u031d\u0317\3\2\2\2") 

422 buf.write("\u031d\u0318\3\2\2\2\u031d\u031a\3\2\2\2\u031d\u031b\3") 

423 buf.write("\2\2\2\u031eu\3\2\2\2\u031f\u0320\7\65\2\2\u0320\u0321") 

424 buf.write("\5x=\2\u0321w\3\2\2\2\u0322\u0327\5z>\2\u0323\u0324\7") 

425 buf.write("?\2\2\u0324\u0326\5z>\2\u0325\u0323\3\2\2\2\u0326\u0329") 

426 buf.write("\3\2\2\2\u0327\u0325\3\2\2\2\u0327\u0328\3\2\2\2\u0328") 

427 buf.write("y\3\2\2\2\u0329\u0327\3\2\2\2\u032a\u032f\5|?\2\u032b") 

428 buf.write("\u032c\7@\2\2\u032c\u032e\5|?\2\u032d\u032b\3\2\2\2\u032e") 

429 buf.write("\u0331\3\2\2\2\u032f\u032d\3\2\2\2\u032f\u0330\3\2\2\2") 

430 buf.write("\u0330{\3\2\2\2\u0331\u032f\3\2\2\2\u0332\u0337\5~@\2") 

431 buf.write("\u0333\u0334\7A\2\2\u0334\u0336\5~@\2\u0335\u0333\3\2") 

432 buf.write("\2\2\u0336\u0339\3\2\2\2\u0337\u0335\3\2\2\2\u0337\u0338") 

433 buf.write("\3\2\2\2\u0338}\3\2\2\2\u0339\u0337\3\2\2\2\u033a\u033f") 

434 buf.write("\5\u0080A\2\u033b\u033c\t\4\2\2\u033c\u033e\5\u0080A\2") 

435 buf.write("\u033d\u033b\3\2\2\2\u033e\u0341\3\2\2\2\u033f\u033d\3") 

436 buf.write("\2\2\2\u033f\u0340\3\2\2\2\u0340\177\3\2\2\2\u0341\u033f") 

437 buf.write("\3\2\2\2\u0342\u0347\5\u0082B\2\u0343\u0344\t\5\2\2\u0344") 

438 buf.write("\u0346\5\u0082B\2\u0345\u0343\3\2\2\2\u0346\u0349\3\2") 

439 buf.write("\2\2\u0347\u0345\3\2\2\2\u0347\u0348\3\2\2\2\u0348\u0081") 

440 buf.write("\3\2\2\2\u0349\u0347\3\2\2\2\u034a\u034f\5\u0084C\2\u034b") 

441 buf.write("\u034c\t\6\2\2\u034c\u034e\5\u0084C\2\u034d\u034b\3\2") 

442 buf.write("\2\2\u034e\u0351\3\2\2\2\u034f\u034d\3\2\2\2\u034f\u0350") 

443 buf.write("\3\2\2\2\u0350\u0083\3\2\2\2\u0351\u034f\3\2\2\2\u0352") 

444 buf.write("\u0353\t\7\2\2\u0353\u0356\5\u0084C\2\u0354\u0356\5\u0086") 

445 buf.write("D\2\u0355\u0352\3\2\2\2\u0355\u0354\3\2\2\2\u0356\u0085") 

446 buf.write("\3\2\2\2\u0357\u035a\5\u0088E\2\u0358\u0359\7;\2\2\u0359") 

447 buf.write("\u035b\5\u0084C\2\u035a\u0358\3\2\2\2\u035a\u035b\3\2") 

448 buf.write("\2\2\u035b\u0087\3\2\2\2\u035c\u035e\7(\2\2\u035d\u035c") 

449 buf.write("\3\2\2\2\u035d\u035e\3\2\2\2\u035e\u035f\3\2\2\2\u035f") 

450 buf.write("\u0363\5\u008aF\2\u0360\u0362\5\u008eH\2\u0361\u0360\3") 

451 buf.write("\2\2\2\u0362\u0365\3\2\2\2\u0363\u0361\3\2\2\2\u0363\u0364") 

452 buf.write("\3\2\2\2\u0364\u0089\3\2\2\2\u0365\u0363\3\2\2\2\u0366") 

453 buf.write("\u0369\7\66\2\2\u0367\u036a\5\u00aaV\2\u0368\u036a\5\u008c") 

454 buf.write("G\2\u0369\u0367\3\2\2\2\u0369\u0368\3\2\2\2\u0369\u036a") 

455 buf.write("\3\2\2\2\u036a\u036b\3\2\2\2\u036b\u0382\7\67\2\2\u036c") 

456 buf.write("\u036e\7=\2\2\u036d\u036f\5\u008cG\2\u036e\u036d\3\2\2") 

457 buf.write("\2\u036e\u036f\3\2\2\2\u036f\u0370\3\2\2\2\u0370\u0382") 

458 buf.write("\7>\2\2\u0371\u0373\7J\2\2\u0372\u0374\5\u009aN\2\u0373") 

459 buf.write("\u0372\3\2\2\2\u0373\u0374\3\2\2\2\u0374\u0375\3\2\2\2") 

460 buf.write("\u0375\u0382\7K\2\2\u0376\u0382\7*\2\2\u0377\u0382\7\4") 

461 buf.write("\2\2\u0378\u037a\7\3\2\2\u0379\u0378\3\2\2\2\u037a\u037b") 

462 buf.write("\3\2\2\2\u037b\u0379\3\2\2\2\u037b\u037c\3\2\2\2\u037c") 

463 buf.write("\u0382\3\2\2\2\u037d\u0382\7\64\2\2\u037e\u0382\7\36\2") 

464 buf.write("\2\u037f\u0382\7\37\2\2\u0380\u0382\7 \2\2\u0381\u0366") 

465 buf.write("\3\2\2\2\u0381\u036c\3\2\2\2\u0381\u0371\3\2\2\2\u0381") 

466 buf.write("\u0376\3\2\2\2\u0381\u0377\3\2\2\2\u0381\u0379\3\2\2\2") 

467 buf.write("\u0381\u037d\3\2\2\2\u0381\u037e\3\2\2\2\u0381\u037f\3") 

468 buf.write("\2\2\2\u0381\u0380\3\2\2\2\u0382\u008b\3\2\2\2\u0383\u0386") 

469 buf.write("\5d\63\2\u0384\u0386\5v<\2\u0385\u0383\3\2\2\2\u0385\u0384") 

470 buf.write("\3\2\2\2\u0386\u0395\3\2\2\2\u0387\u0396\5\u00a4S\2\u0388") 

471 buf.write("\u038b\78\2\2\u0389\u038c\5d\63\2\u038a\u038c\5v<\2\u038b") 

472 buf.write("\u0389\3\2\2\2\u038b\u038a\3\2\2\2\u038c\u038e\3\2\2\2") 

473 buf.write("\u038d\u0388\3\2\2\2\u038e\u0391\3\2\2\2\u038f\u038d\3") 

474 buf.write("\2\2\2\u038f\u0390\3\2\2\2\u0390\u0393\3\2\2\2\u0391\u038f") 

475 buf.write("\3\2\2\2\u0392\u0394\78\2\2\u0393\u0392\3\2\2\2\u0393") 

476 buf.write("\u0394\3\2\2\2\u0394\u0396\3\2\2\2\u0395\u0387\3\2\2\2") 

477 buf.write("\u0395\u038f\3\2\2\2\u0396\u008d\3\2\2\2\u0397\u0399\7") 

478 buf.write("\66\2\2\u0398\u039a\5\u009eP\2\u0399\u0398\3\2\2\2\u0399") 

479 buf.write("\u039a\3\2\2\2\u039a\u039b\3\2\2\2\u039b\u03a3\7\67\2") 

480 buf.write("\2\u039c\u039d\7=\2\2\u039d\u039e\5\u0090I\2\u039e\u039f") 

481 buf.write("\7>\2\2\u039f\u03a3\3\2\2\2\u03a0\u03a1\7\63\2\2\u03a1") 

482 buf.write("\u03a3\7*\2\2\u03a2\u0397\3\2\2\2\u03a2\u039c\3\2\2\2") 

483 buf.write("\u03a2\u03a0\3\2\2\2\u03a3\u008f\3\2\2\2\u03a4\u03a9\5") 

484 buf.write("\u0092J\2\u03a5\u03a6\78\2\2\u03a6\u03a8\5\u0092J\2\u03a7") 

485 buf.write("\u03a5\3\2\2\2\u03a8\u03ab\3\2\2\2\u03a9\u03a7\3\2\2\2") 

486 buf.write("\u03a9\u03aa\3\2\2\2\u03aa\u03ad\3\2\2\2\u03ab\u03a9\3") 

487 buf.write("\2\2\2\u03ac\u03ae\78\2\2\u03ad\u03ac\3\2\2\2\u03ad\u03ae") 

488 buf.write("\3\2\2\2\u03ae\u0091\3\2\2\2\u03af\u03bb\5d\63\2\u03b0") 

489 buf.write("\u03b2\5d\63\2\u03b1\u03b0\3\2\2\2\u03b1\u03b2\3\2\2\2") 

490 buf.write("\u03b2\u03b3\3\2\2\2\u03b3\u03b5\79\2\2\u03b4\u03b6\5") 

491 buf.write("d\63\2\u03b5\u03b4\3\2\2\2\u03b5\u03b6\3\2\2\2\u03b6\u03b8") 

492 buf.write("\3\2\2\2\u03b7\u03b9\5\u0094K\2\u03b8\u03b7\3\2\2\2\u03b8") 

493 buf.write("\u03b9\3\2\2\2\u03b9\u03bb\3\2\2\2\u03ba\u03af\3\2\2\2") 

494 buf.write("\u03ba\u03b1\3\2\2\2\u03bb\u0093\3\2\2\2\u03bc\u03be\7") 

495 buf.write("9\2\2\u03bd\u03bf\5d\63\2\u03be\u03bd\3\2\2\2\u03be\u03bf") 

496 buf.write("\3\2\2\2\u03bf\u0095\3\2\2\2\u03c0\u03c3\5x=\2\u03c1\u03c3") 

497 buf.write("\5v<\2\u03c2\u03c0\3\2\2\2\u03c2\u03c1\3\2\2\2\u03c3\u03cb") 

498 buf.write("\3\2\2\2\u03c4\u03c7\78\2\2\u03c5\u03c8\5x=\2\u03c6\u03c8") 

499 buf.write("\5v<\2\u03c7\u03c5\3\2\2\2\u03c7\u03c6\3\2\2\2\u03c8\u03ca") 

500 buf.write("\3\2\2\2\u03c9\u03c4\3\2\2\2\u03ca\u03cd\3\2\2\2\u03cb") 

501 buf.write("\u03c9\3\2\2\2\u03cb\u03cc\3\2\2\2\u03cc\u03cf\3\2\2\2") 

502 buf.write("\u03cd\u03cb\3\2\2\2\u03ce\u03d0\78\2\2\u03cf\u03ce\3") 

503 buf.write("\2\2\2\u03cf\u03d0\3\2\2\2\u03d0\u0097\3\2\2\2\u03d1\u03d6") 

504 buf.write("\5d\63\2\u03d2\u03d3\78\2\2\u03d3\u03d5\5d\63\2\u03d4") 

505 buf.write("\u03d2\3\2\2\2\u03d5\u03d8\3\2\2\2\u03d6\u03d4\3\2\2\2") 

506 buf.write("\u03d6\u03d7\3\2\2\2\u03d7\u03da\3\2\2\2\u03d8\u03d6\3") 

507 buf.write("\2\2\2\u03d9\u03db\78\2\2\u03da\u03d9\3\2\2\2\u03da\u03db") 

508 buf.write("\3\2\2\2\u03db\u0099\3\2\2\2\u03dc\u03dd\5d\63\2\u03dd") 

509 buf.write("\u03de\79\2\2\u03de\u03df\5d\63\2\u03df\u03e3\3\2\2\2") 

510 buf.write("\u03e0\u03e1\7;\2\2\u03e1\u03e3\5x=\2\u03e2\u03dc\3\2") 

511 buf.write("\2\2\u03e2\u03e0\3\2\2\2\u03e3\u03f6\3\2\2\2\u03e4\u03f7") 

512 buf.write("\5\u00a4S\2\u03e5\u03ec\78\2\2\u03e6\u03e7\5d\63\2\u03e7") 

513 buf.write("\u03e8\79\2\2\u03e8\u03e9\5d\63\2\u03e9\u03ed\3\2\2\2") 

514 buf.write("\u03ea\u03eb\7;\2\2\u03eb\u03ed\5x=\2\u03ec\u03e6\3\2") 

515 buf.write("\2\2\u03ec\u03ea\3\2\2\2\u03ed\u03ef\3\2\2\2\u03ee\u03e5") 

516 buf.write("\3\2\2\2\u03ef\u03f2\3\2\2\2\u03f0\u03ee\3\2\2\2\u03f0") 

517 buf.write("\u03f1\3\2\2\2\u03f1\u03f4\3\2\2\2\u03f2\u03f0\3\2\2\2") 

518 buf.write("\u03f3\u03f5\78\2\2\u03f4\u03f3\3\2\2\2\u03f4\u03f5\3") 

519 buf.write("\2\2\2\u03f5\u03f7\3\2\2\2\u03f6\u03e4\3\2\2\2\u03f6\u03f0") 

520 buf.write("\3\2\2\2\u03f7\u040d\3\2\2\2\u03f8\u03fb\5d\63\2\u03f9") 

521 buf.write("\u03fb\5v<\2\u03fa\u03f8\3\2\2\2\u03fa\u03f9\3\2\2\2\u03fb") 

522 buf.write("\u040a\3\2\2\2\u03fc\u040b\5\u00a4S\2\u03fd\u0400\78\2") 

523 buf.write("\2\u03fe\u0401\5d\63\2\u03ff\u0401\5v<\2\u0400\u03fe\3") 

524 buf.write("\2\2\2\u0400\u03ff\3\2\2\2\u0401\u0403\3\2\2\2\u0402\u03fd") 

525 buf.write("\3\2\2\2\u0403\u0406\3\2\2\2\u0404\u0402\3\2\2\2\u0404") 

526 buf.write("\u0405\3\2\2\2\u0405\u0408\3\2\2\2\u0406\u0404\3\2\2\2") 

527 buf.write("\u0407\u0409\78\2\2\u0408\u0407\3\2\2\2\u0408\u0409\3") 

528 buf.write("\2\2\2\u0409\u040b\3\2\2\2\u040a\u03fc\3\2\2\2\u040a\u0404") 

529 buf.write("\3\2\2\2\u040b\u040d\3\2\2\2\u040c\u03e2\3\2\2\2\u040c") 

530 buf.write("\u03fa\3\2\2\2\u040d\u009b\3\2\2\2\u040e\u040f\7!\2\2") 

531 buf.write("\u040f\u0415\7*\2\2\u0410\u0412\7\66\2\2\u0411\u0413\5") 

532 buf.write("\u009eP\2\u0412\u0411\3\2\2\2\u0412\u0413\3\2\2\2\u0413") 

533 buf.write("\u0414\3\2\2\2\u0414\u0416\7\67\2\2\u0415\u0410\3\2\2") 

534 buf.write("\2\u0415\u0416\3\2\2\2\u0416\u0417\3\2\2\2\u0417\u0418") 

535 buf.write("\79\2\2\u0418\u0419\5b\62\2\u0419\u009d\3\2\2\2\u041a") 

536 buf.write("\u041f\5\u00a0Q\2\u041b\u041c\78\2\2\u041c\u041e\5\u00a0") 

537 buf.write("Q\2\u041d\u041b\3\2\2\2\u041e\u0421\3\2\2\2\u041f\u041d") 

538 buf.write("\3\2\2\2\u041f\u0420\3\2\2\2\u0420\u0423\3\2\2\2\u0421") 

539 buf.write("\u041f\3\2\2\2\u0422\u0424\78\2\2\u0423\u0422\3\2\2\2") 

540 buf.write("\u0423\u0424\3\2\2\2\u0424\u009f\3\2\2\2\u0425\u0427\5") 

541 buf.write("d\63\2\u0426\u0428\5\u00a4S\2\u0427\u0426\3\2\2\2\u0427") 

542 buf.write("\u0428\3\2\2\2\u0428\u0432\3\2\2\2\u0429\u042a\5d\63\2") 

543 buf.write("\u042a\u042b\7<\2\2\u042b\u042c\5d\63\2\u042c\u0432\3") 

544 buf.write("\2\2\2\u042d\u042e\7;\2\2\u042e\u0432\5d\63\2\u042f\u0430") 

545 buf.write("\7\65\2\2\u0430\u0432\5d\63\2\u0431\u0425\3\2\2\2\u0431") 

546 buf.write("\u0429\3\2\2\2\u0431\u042d\3\2\2\2\u0431\u042f\3\2\2\2") 

547 buf.write("\u0432\u00a1\3\2\2\2\u0433\u0436\5\u00a4S\2\u0434\u0436") 

548 buf.write("\5\u00a6T\2\u0435\u0433\3\2\2\2\u0435\u0434\3\2\2\2\u0436") 

549 buf.write("\u00a3\3\2\2\2\u0437\u0439\7\'\2\2\u0438\u0437\3\2\2\2") 

550 buf.write("\u0438\u0439\3\2\2\2\u0439\u043a\3\2\2\2\u043a\u043b\7") 

551 buf.write("\23\2\2\u043b\u043c\5\u0096L\2\u043c\u043d\7\24\2\2\u043d") 

552 buf.write("\u043f\5l\67\2\u043e\u0440\5\u00a2R\2\u043f\u043e\3\2") 

553 buf.write("\2\2\u043f\u0440\3\2\2\2\u0440\u00a5\3\2\2\2\u0441\u0442") 

554 buf.write("\7\17\2\2\u0442\u0444\5f\64\2\u0443\u0445\5\u00a2R\2\u0444") 

555 buf.write("\u0443\3\2\2\2\u0444\u0445\3\2\2\2\u0445\u00a7\3\2\2\2") 

556 buf.write("\u0446\u0447\7*\2\2\u0447\u00a9\3\2\2\2\u0448\u044a\7") 

557 buf.write("\"\2\2\u0449\u044b\5\u00acW\2\u044a\u0449\3\2\2\2\u044a") 

558 buf.write("\u044b\3\2\2\2\u044b\u00ab\3\2\2\2\u044c\u044d\7\t\2\2") 

559 buf.write("\u044d\u0450\5d\63\2\u044e\u0450\5\u0098M\2\u044f\u044c") 

560 buf.write("\3\2\2\2\u044f\u044e\3\2\2\2\u0450\u00ad\3\2\2\2\u00a8") 

561 buf.write("\u00b3\u00b7\u00b9\u00c2\u00cb\u00ce\u00d5\u00db\u00e5") 

562 buf.write("\u00ec\u00f3\u00f9\u00fd\u0103\u0109\u010d\u0114\u0116") 

563 buf.write("\u0118\u011d\u011f\u0121\u0125\u012b\u012f\u0136\u0138") 

564 buf.write("\u013a\u013f\u0141\u0146\u014b\u0151\u0155\u015b\u0161") 

565 buf.write("\u0165\u016c\u016e\u0170\u0175\u0177\u0179\u017d\u0183") 

566 buf.write("\u0187\u018e\u0190\u0192\u0197\u0199\u019f\u01a6\u01aa") 

567 buf.write("\u01b6\u01bd\u01c2\u01c6\u01c9\u01cf\u01d3\u01d8\u01dc") 

568 buf.write("\u01e0\u01ee\u01f6\u01fe\u0200\u0204\u020d\u0214\u0216") 

569 buf.write("\u021f\u0224\u0229\u0230\u0234\u023b\u0243\u024c\u0255") 

570 buf.write("\u025c\u0267\u026d\u027a\u0280\u0289\u0294\u029f\u02a4") 

571 buf.write("\u02a9\u02ae\u02b6\u02bf\u02c5\u02c7\u02cf\u02d3\u02db") 

572 buf.write("\u02de\u02e2\u02e6\u02ed\u02f7\u02ff\u0305\u030d\u031d") 

573 buf.write("\u0327\u032f\u0337\u033f\u0347\u034f\u0355\u035a\u035d") 

574 buf.write("\u0363\u0369\u036e\u0373\u037b\u0381\u0385\u038b\u038f") 

575 buf.write("\u0393\u0395\u0399\u03a2\u03a9\u03ad\u03b1\u03b5\u03b8") 

576 buf.write("\u03ba\u03be\u03c2\u03c7\u03cb\u03cf\u03d6\u03da\u03e2") 

577 buf.write("\u03ec\u03f0\u03f4\u03f6\u03fa\u0400\u0404\u0408\u040a") 

578 buf.write("\u040c\u0412\u0415\u041f\u0423\u0427\u0431\u0435\u0438") 

579 buf.write("\u043f\u0444\u044a\u044f") 

580 return buf.getvalue() 

581 

582 

583class Python3Parser ( Parser ): 

584 

585 grammarFileName = "Python3.g4" 

586 

587 atn = ATNDeserializer().deserialize(serializedATN()) 

588 

589 decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ] 

590 

591 sharedContextCache = PredictionContextCache() 

592 

593 literalNames = [ "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", 

594 "'def'", "'return'", "'raise'", "'from'", "'import'", 

595 "'as'", "'global'", "'nonlocal'", "'assert'", "'if'", 

596 "'elif'", "'else'", "'while'", "'for'", "'in'", "'try'", 

597 "'finally'", "'with'", "'except'", "'lambda'", "'or'", 

598 "'and'", "'not'", "'is'", "'None'", "'True'", "'False'", 

599 "'class'", "'yield'", "'del'", "'pass'", "'continue'", 

600 "'break'", "'async'", "'await'", "<INVALID>", "<INVALID>", 

601 "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", 

602 "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", 

603 "'.'", "'...'", "'*'", "'('", "')'", "','", "':'", 

604 "';'", "'**'", "'='", "'['", "']'", "'|'", "'^'", "'&'", 

605 "'<<'", "'>>'", "'+'", "'-'", "'/'", "'%'", "'//'", 

606 "'~'", "'{'", "'}'", "'<'", "'>'", "'=='", "'>='", 

607 "'<='", "'<>'", "'!='", "'@'", "'->'", "'+='", "'-='", 

608 "'*='", "'@='", "'/='", "'%='", "'&='", "'|='", "'^='", 

609 "'<<='", "'>>='", "'**='", "'//='" ] 

610 

611 symbolicNames = [ "<INVALID>", "STRING", "NUMBER", "INTEGER", "DEF", 

612 "RETURN", "RAISE", "FROM", "IMPORT", "AS", "GLOBAL", 

613 "NONLOCAL", "ASSERT", "IF", "ELIF", "ELSE", "WHILE", 

614 "FOR", "IN", "TRY", "FINALLY", "WITH", "EXCEPT", "LAMBDA", 

615 "OR", "AND", "NOT", "IS", "NONE", "TRUE", "FALSE", 

616 "CLASS", "YIELD", "DEL", "PASS", "CONTINUE", "BREAK", 

617 "ASYNC", "AWAIT", "NEWLINE", "NAME", "STRING_LITERAL", 

618 "BYTES_LITERAL", "DECIMAL_INTEGER", "OCT_INTEGER", 

619 "HEX_INTEGER", "BIN_INTEGER", "FLOAT_NUMBER", "IMAG_NUMBER", 

620 "DOT", "ELLIPSIS", "STAR", "OPEN_PAREN", "CLOSE_PAREN", 

621 "COMMA", "COLON", "SEMI_COLON", "POWER", "ASSIGN", 

622 "OPEN_BRACK", "CLOSE_BRACK", "OR_OP", "XOR", "AND_OP", 

623 "LEFT_SHIFT", "RIGHT_SHIFT", "ADD", "MINUS", "DIV", 

624 "MOD", "IDIV", "NOT_OP", "OPEN_BRACE", "CLOSE_BRACE", 

625 "LESS_THAN", "GREATER_THAN", "EQUALS", "GT_EQ", "LT_EQ", 

626 "NOT_EQ_1", "NOT_EQ_2", "AT", "ARROW", "ADD_ASSIGN", 

627 "SUB_ASSIGN", "MULT_ASSIGN", "AT_ASSIGN", "DIV_ASSIGN", 

628 "MOD_ASSIGN", "AND_ASSIGN", "OR_ASSIGN", "XOR_ASSIGN", 

629 "LEFT_SHIFT_ASSIGN", "RIGHT_SHIFT_ASSIGN", "POWER_ASSIGN", 

630 "IDIV_ASSIGN", "SKIP_", "UNKNOWN_CHAR", "INDENT", 

631 "DEDENT" ] 

632 

633 RULE_single_input = 0 

634 RULE_file_input = 1 

635 RULE_eval_input = 2 

636 RULE_decorator = 3 

637 RULE_decorators = 4 

638 RULE_decorated = 5 

639 RULE_async_funcdef = 6 

640 RULE_funcdef = 7 

641 RULE_parameters = 8 

642 RULE_typedargslist = 9 

643 RULE_tfpdef = 10 

644 RULE_varargslist = 11 

645 RULE_vfpdef = 12 

646 RULE_stmt = 13 

647 RULE_simple_stmt = 14 

648 RULE_small_stmt = 15 

649 RULE_expr_stmt = 16 

650 RULE_annassign = 17 

651 RULE_testlist_star_expr = 18 

652 RULE_augassign = 19 

653 RULE_del_stmt = 20 

654 RULE_pass_stmt = 21 

655 RULE_flow_stmt = 22 

656 RULE_break_stmt = 23 

657 RULE_continue_stmt = 24 

658 RULE_return_stmt = 25 

659 RULE_yield_stmt = 26 

660 RULE_raise_stmt = 27 

661 RULE_import_stmt = 28 

662 RULE_import_name = 29 

663 RULE_import_from = 30 

664 RULE_import_as_name = 31 

665 RULE_dotted_as_name = 32 

666 RULE_import_as_names = 33 

667 RULE_dotted_as_names = 34 

668 RULE_dotted_name = 35 

669 RULE_global_stmt = 36 

670 RULE_nonlocal_stmt = 37 

671 RULE_assert_stmt = 38 

672 RULE_compound_stmt = 39 

673 RULE_async_stmt = 40 

674 RULE_if_stmt = 41 

675 RULE_while_stmt = 42 

676 RULE_for_stmt = 43 

677 RULE_try_stmt = 44 

678 RULE_with_stmt = 45 

679 RULE_with_item = 46 

680 RULE_except_clause = 47 

681 RULE_suite = 48 

682 RULE_test = 49 

683 RULE_test_nocond = 50 

684 RULE_lambdef = 51 

685 RULE_lambdef_nocond = 52 

686 RULE_or_test = 53 

687 RULE_and_test = 54 

688 RULE_not_test = 55 

689 RULE_comparison = 56 

690 RULE_comp_op = 57 

691 RULE_star_expr = 58 

692 RULE_expr = 59 

693 RULE_xor_expr = 60 

694 RULE_and_expr = 61 

695 RULE_shift_expr = 62 

696 RULE_arith_expr = 63 

697 RULE_term = 64 

698 RULE_factor = 65 

699 RULE_power = 66 

700 RULE_atom_expr = 67 

701 RULE_atom = 68 

702 RULE_testlist_comp = 69 

703 RULE_trailer = 70 

704 RULE_subscriptlist = 71 

705 RULE_subscript = 72 

706 RULE_sliceop = 73 

707 RULE_exprlist = 74 

708 RULE_testlist = 75 

709 RULE_dictorsetmaker = 76 

710 RULE_classdef = 77 

711 RULE_arglist = 78 

712 RULE_argument = 79 

713 RULE_comp_iter = 80 

714 RULE_comp_for = 81 

715 RULE_comp_if = 82 

716 RULE_encoding_decl = 83 

717 RULE_yield_expr = 84 

718 RULE_yield_arg = 85 

719 

720 ruleNames = [ "single_input", "file_input", "eval_input", "decorator", 

721 "decorators", "decorated", "async_funcdef", "funcdef", 

722 "parameters", "typedargslist", "tfpdef", "varargslist", 

723 "vfpdef", "stmt", "simple_stmt", "small_stmt", "expr_stmt", 

724 "annassign", "testlist_star_expr", "augassign", "del_stmt", 

725 "pass_stmt", "flow_stmt", "break_stmt", "continue_stmt", 

726 "return_stmt", "yield_stmt", "raise_stmt", "import_stmt", 

727 "import_name", "import_from", "import_as_name", "dotted_as_name", 

728 "import_as_names", "dotted_as_names", "dotted_name", 

729 "global_stmt", "nonlocal_stmt", "assert_stmt", "compound_stmt", 

730 "async_stmt", "if_stmt", "while_stmt", "for_stmt", "try_stmt", 

731 "with_stmt", "with_item", "except_clause", "suite", "test", 

732 "test_nocond", "lambdef", "lambdef_nocond", "or_test", 

733 "and_test", "not_test", "comparison", "comp_op", "star_expr", 

734 "expr", "xor_expr", "and_expr", "shift_expr", "arith_expr", 

735 "term", "factor", "power", "atom_expr", "atom", "testlist_comp", 

736 "trailer", "subscriptlist", "subscript", "sliceop", "exprlist", 

737 "testlist", "dictorsetmaker", "classdef", "arglist", 

738 "argument", "comp_iter", "comp_for", "comp_if", "encoding_decl", 

739 "yield_expr", "yield_arg" ] 

740 

741 EOF = Token.EOF 

742 STRING=1 

743 NUMBER=2 

744 INTEGER=3 

745 DEF=4 

746 RETURN=5 

747 RAISE=6 

748 FROM=7 

749 IMPORT=8 

750 AS=9 

751 GLOBAL=10 

752 NONLOCAL=11 

753 ASSERT=12 

754 IF=13 

755 ELIF=14 

756 ELSE=15 

757 WHILE=16 

758 FOR=17 

759 IN=18 

760 TRY=19 

761 FINALLY=20 

762 WITH=21 

763 EXCEPT=22 

764 LAMBDA=23 

765 OR=24 

766 AND=25 

767 NOT=26 

768 IS=27 

769 NONE=28 

770 TRUE=29 

771 FALSE=30 

772 CLASS=31 

773 YIELD=32 

774 DEL=33 

775 PASS=34 

776 CONTINUE=35 

777 BREAK=36 

778 ASYNC=37 

779 AWAIT=38 

780 NEWLINE=39 

781 NAME=40 

782 STRING_LITERAL=41 

783 BYTES_LITERAL=42 

784 DECIMAL_INTEGER=43 

785 OCT_INTEGER=44 

786 HEX_INTEGER=45 

787 BIN_INTEGER=46 

788 FLOAT_NUMBER=47 

789 IMAG_NUMBER=48 

790 DOT=49 

791 ELLIPSIS=50 

792 STAR=51 

793 OPEN_PAREN=52 

794 CLOSE_PAREN=53 

795 COMMA=54 

796 COLON=55 

797 SEMI_COLON=56 

798 POWER=57 

799 ASSIGN=58 

800 OPEN_BRACK=59 

801 CLOSE_BRACK=60 

802 OR_OP=61 

803 XOR=62 

804 AND_OP=63 

805 LEFT_SHIFT=64 

806 RIGHT_SHIFT=65 

807 ADD=66 

808 MINUS=67 

809 DIV=68 

810 MOD=69 

811 IDIV=70 

812 NOT_OP=71 

813 OPEN_BRACE=72 

814 CLOSE_BRACE=73 

815 LESS_THAN=74 

816 GREATER_THAN=75 

817 EQUALS=76 

818 GT_EQ=77 

819 LT_EQ=78 

820 NOT_EQ_1=79 

821 NOT_EQ_2=80 

822 AT=81 

823 ARROW=82 

824 ADD_ASSIGN=83 

825 SUB_ASSIGN=84 

826 MULT_ASSIGN=85 

827 AT_ASSIGN=86 

828 DIV_ASSIGN=87 

829 MOD_ASSIGN=88 

830 AND_ASSIGN=89 

831 OR_ASSIGN=90 

832 XOR_ASSIGN=91 

833 LEFT_SHIFT_ASSIGN=92 

834 RIGHT_SHIFT_ASSIGN=93 

835 POWER_ASSIGN=94 

836 IDIV_ASSIGN=95 

837 SKIP_=96 

838 UNKNOWN_CHAR=97 

839 INDENT=98 

840 DEDENT=99 

841 

842 def __init__(self, input:TokenStream, output:TextIO = sys.stdout): 

843 super().__init__(input, output) 

844 self.checkVersion("4.9") 

845 self._interp = ParserATNSimulator(self, self.atn, self.decisionsToDFA, self.sharedContextCache) 

846 self._predicates = None 

847 

848 

849 

850 

851 class Single_inputContext(ParserRuleContext): 

852 

853 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

854 super().__init__(parent, invokingState) 

855 self.parser = parser 

856 

857 def NEWLINE(self): 

858 return self.getToken(Python3Parser.NEWLINE, 0) 

859 

860 def simple_stmt(self): 

861 return self.getTypedRuleContext(Python3Parser.Simple_stmtContext,0) 

862 

863 

864 def compound_stmt(self): 

865 return self.getTypedRuleContext(Python3Parser.Compound_stmtContext,0) 

866 

867 

868 def getRuleIndex(self): 

869 return Python3Parser.RULE_single_input 

870 

871 def enterRule(self, listener:ParseTreeListener): 

872 if hasattr( listener, "enterSingle_input" ): 

873 listener.enterSingle_input(self) 

874 

875 def exitRule(self, listener:ParseTreeListener): 

876 if hasattr( listener, "exitSingle_input" ): 

877 listener.exitSingle_input(self) 

878 

879 

880 

881 

882 def single_input(self): 

883 

884 localctx = Python3Parser.Single_inputContext(self, self._ctx, self.state) 

885 self.enterRule(localctx, 0, self.RULE_single_input) 

886 try: 

887 self.state = 177 

888 self._errHandler.sync(self) 

889 token = self._input.LA(1) 

890 if token in [Python3Parser.NEWLINE]: 

891 self.enterOuterAlt(localctx, 1) 

892 self.state = 172 

893 self.match(Python3Parser.NEWLINE) 

894 pass 

895 elif token in [Python3Parser.STRING, Python3Parser.NUMBER, Python3Parser.RETURN, Python3Parser.RAISE, Python3Parser.FROM, Python3Parser.IMPORT, Python3Parser.GLOBAL, Python3Parser.NONLOCAL, Python3Parser.ASSERT, Python3Parser.LAMBDA, Python3Parser.NOT, Python3Parser.NONE, Python3Parser.TRUE, Python3Parser.FALSE, Python3Parser.YIELD, Python3Parser.DEL, Python3Parser.PASS, Python3Parser.CONTINUE, Python3Parser.BREAK, Python3Parser.AWAIT, Python3Parser.NAME, Python3Parser.ELLIPSIS, Python3Parser.STAR, Python3Parser.OPEN_PAREN, Python3Parser.OPEN_BRACK, Python3Parser.ADD, Python3Parser.MINUS, Python3Parser.NOT_OP, Python3Parser.OPEN_BRACE]: 

896 self.enterOuterAlt(localctx, 2) 

897 self.state = 173 

898 self.simple_stmt() 

899 pass 

900 elif token in [Python3Parser.DEF, Python3Parser.IF, Python3Parser.WHILE, Python3Parser.FOR, Python3Parser.TRY, Python3Parser.WITH, Python3Parser.CLASS, Python3Parser.ASYNC, Python3Parser.AT]: 

901 self.enterOuterAlt(localctx, 3) 

902 self.state = 174 

903 self.compound_stmt() 

904 self.state = 175 

905 self.match(Python3Parser.NEWLINE) 

906 pass 

907 else: 

908 raise NoViableAltException(self) 

909 

910 except RecognitionException as re: 

911 localctx.exception = re 

912 self._errHandler.reportError(self, re) 

913 self._errHandler.recover(self, re) 

914 finally: 

915 self.exitRule() 

916 return localctx 

917 

918 

919 class File_inputContext(ParserRuleContext): 

920 

921 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

922 super().__init__(parent, invokingState) 

923 self.parser = parser 

924 

925 def EOF(self): 

926 return self.getToken(Python3Parser.EOF, 0) 

927 

928 def NEWLINE(self, i:int=None): 

929 if i is None: 

930 return self.getTokens(Python3Parser.NEWLINE) 

931 else: 

932 return self.getToken(Python3Parser.NEWLINE, i) 

933 

934 def stmt(self, i:int=None): 

935 if i is None: 

936 return self.getTypedRuleContexts(Python3Parser.StmtContext) 

937 else: 

938 return self.getTypedRuleContext(Python3Parser.StmtContext,i) 

939 

940 

941 def getRuleIndex(self): 

942 return Python3Parser.RULE_file_input 

943 

944 def enterRule(self, listener:ParseTreeListener): 

945 if hasattr( listener, "enterFile_input" ): 

946 listener.enterFile_input(self) 

947 

948 def exitRule(self, listener:ParseTreeListener): 

949 if hasattr( listener, "exitFile_input" ): 

950 listener.exitFile_input(self) 

951 

952 

953 

954 

955 def file_input(self): 

956 

957 localctx = Python3Parser.File_inputContext(self, self._ctx, self.state) 

958 self.enterRule(localctx, 2, self.RULE_file_input) 

959 self._la = 0 # Token type 

960 try: 

961 self.enterOuterAlt(localctx, 1) 

962 self.state = 183 

963 self._errHandler.sync(self) 

964 _la = self._input.LA(1) 

965 while (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << Python3Parser.STRING) | (1 << Python3Parser.NUMBER) | (1 << Python3Parser.DEF) | (1 << Python3Parser.RETURN) | (1 << Python3Parser.RAISE) | (1 << Python3Parser.FROM) | (1 << Python3Parser.IMPORT) | (1 << Python3Parser.GLOBAL) | (1 << Python3Parser.NONLOCAL) | (1 << Python3Parser.ASSERT) | (1 << Python3Parser.IF) | (1 << Python3Parser.WHILE) | (1 << Python3Parser.FOR) | (1 << Python3Parser.TRY) | (1 << Python3Parser.WITH) | (1 << Python3Parser.LAMBDA) | (1 << Python3Parser.NOT) | (1 << Python3Parser.NONE) | (1 << Python3Parser.TRUE) | (1 << Python3Parser.FALSE) | (1 << Python3Parser.CLASS) | (1 << Python3Parser.YIELD) | (1 << Python3Parser.DEL) | (1 << Python3Parser.PASS) | (1 << Python3Parser.CONTINUE) | (1 << Python3Parser.BREAK) | (1 << Python3Parser.ASYNC) | (1 << Python3Parser.AWAIT) | (1 << Python3Parser.NEWLINE) | (1 << Python3Parser.NAME) | (1 << Python3Parser.ELLIPSIS) | (1 << Python3Parser.STAR) | (1 << Python3Parser.OPEN_PAREN) | (1 << Python3Parser.OPEN_BRACK))) != 0) or ((((_la - 66)) & ~0x3f) == 0 and ((1 << (_la - 66)) & ((1 << (Python3Parser.ADD - 66)) | (1 << (Python3Parser.MINUS - 66)) | (1 << (Python3Parser.NOT_OP - 66)) | (1 << (Python3Parser.OPEN_BRACE - 66)) | (1 << (Python3Parser.AT - 66)))) != 0): 

966 self.state = 181 

967 self._errHandler.sync(self) 

968 token = self._input.LA(1) 

969 if token in [Python3Parser.NEWLINE]: 

970 self.state = 179 

971 self.match(Python3Parser.NEWLINE) 

972 pass 

973 elif token in [Python3Parser.STRING, Python3Parser.NUMBER, Python3Parser.DEF, Python3Parser.RETURN, Python3Parser.RAISE, Python3Parser.FROM, Python3Parser.IMPORT, Python3Parser.GLOBAL, Python3Parser.NONLOCAL, Python3Parser.ASSERT, Python3Parser.IF, Python3Parser.WHILE, Python3Parser.FOR, Python3Parser.TRY, Python3Parser.WITH, Python3Parser.LAMBDA, Python3Parser.NOT, Python3Parser.NONE, Python3Parser.TRUE, Python3Parser.FALSE, Python3Parser.CLASS, Python3Parser.YIELD, Python3Parser.DEL, Python3Parser.PASS, Python3Parser.CONTINUE, Python3Parser.BREAK, Python3Parser.ASYNC, Python3Parser.AWAIT, Python3Parser.NAME, Python3Parser.ELLIPSIS, Python3Parser.STAR, Python3Parser.OPEN_PAREN, Python3Parser.OPEN_BRACK, Python3Parser.ADD, Python3Parser.MINUS, Python3Parser.NOT_OP, Python3Parser.OPEN_BRACE, Python3Parser.AT]: 

974 self.state = 180 

975 self.stmt() 

976 pass 

977 else: 

978 raise NoViableAltException(self) 

979 

980 self.state = 185 

981 self._errHandler.sync(self) 

982 _la = self._input.LA(1) 

983 

984 self.state = 186 

985 self.match(Python3Parser.EOF) 

986 except RecognitionException as re: 

987 localctx.exception = re 

988 self._errHandler.reportError(self, re) 

989 self._errHandler.recover(self, re) 

990 finally: 

991 self.exitRule() 

992 return localctx 

993 

994 

995 class Eval_inputContext(ParserRuleContext): 

996 

997 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

998 super().__init__(parent, invokingState) 

999 self.parser = parser 

1000 

1001 def testlist(self): 

1002 return self.getTypedRuleContext(Python3Parser.TestlistContext,0) 

1003 

1004 

1005 def EOF(self): 

1006 return self.getToken(Python3Parser.EOF, 0) 

1007 

1008 def NEWLINE(self, i:int=None): 

1009 if i is None: 

1010 return self.getTokens(Python3Parser.NEWLINE) 

1011 else: 

1012 return self.getToken(Python3Parser.NEWLINE, i) 

1013 

1014 def getRuleIndex(self): 

1015 return Python3Parser.RULE_eval_input 

1016 

1017 def enterRule(self, listener:ParseTreeListener): 

1018 if hasattr( listener, "enterEval_input" ): 

1019 listener.enterEval_input(self) 

1020 

1021 def exitRule(self, listener:ParseTreeListener): 

1022 if hasattr( listener, "exitEval_input" ): 

1023 listener.exitEval_input(self) 

1024 

1025 

1026 

1027 

1028 def eval_input(self): 

1029 

1030 localctx = Python3Parser.Eval_inputContext(self, self._ctx, self.state) 

1031 self.enterRule(localctx, 4, self.RULE_eval_input) 

1032 self._la = 0 # Token type 

1033 try: 

1034 self.enterOuterAlt(localctx, 1) 

1035 self.state = 188 

1036 self.testlist() 

1037 self.state = 192 

1038 self._errHandler.sync(self) 

1039 _la = self._input.LA(1) 

1040 while _la==Python3Parser.NEWLINE: 

1041 self.state = 189 

1042 self.match(Python3Parser.NEWLINE) 

1043 self.state = 194 

1044 self._errHandler.sync(self) 

1045 _la = self._input.LA(1) 

1046 

1047 self.state = 195 

1048 self.match(Python3Parser.EOF) 

1049 except RecognitionException as re: 

1050 localctx.exception = re 

1051 self._errHandler.reportError(self, re) 

1052 self._errHandler.recover(self, re) 

1053 finally: 

1054 self.exitRule() 

1055 return localctx 

1056 

1057 

1058 class DecoratorContext(ParserRuleContext): 

1059 

1060 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

1061 super().__init__(parent, invokingState) 

1062 self.parser = parser 

1063 

1064 def AT(self): 

1065 return self.getToken(Python3Parser.AT, 0) 

1066 

1067 def dotted_name(self): 

1068 return self.getTypedRuleContext(Python3Parser.Dotted_nameContext,0) 

1069 

1070 

1071 def NEWLINE(self): 

1072 return self.getToken(Python3Parser.NEWLINE, 0) 

1073 

1074 def OPEN_PAREN(self): 

1075 return self.getToken(Python3Parser.OPEN_PAREN, 0) 

1076 

1077 def CLOSE_PAREN(self): 

1078 return self.getToken(Python3Parser.CLOSE_PAREN, 0) 

1079 

1080 def arglist(self): 

1081 return self.getTypedRuleContext(Python3Parser.ArglistContext,0) 

1082 

1083 

1084 def getRuleIndex(self): 

1085 return Python3Parser.RULE_decorator 

1086 

1087 def enterRule(self, listener:ParseTreeListener): 

1088 if hasattr( listener, "enterDecorator" ): 

1089 listener.enterDecorator(self) 

1090 

1091 def exitRule(self, listener:ParseTreeListener): 

1092 if hasattr( listener, "exitDecorator" ): 

1093 listener.exitDecorator(self) 

1094 

1095 

1096 

1097 

1098 def decorator(self): 

1099 

1100 localctx = Python3Parser.DecoratorContext(self, self._ctx, self.state) 

1101 self.enterRule(localctx, 6, self.RULE_decorator) 

1102 self._la = 0 # Token type 

1103 try: 

1104 self.enterOuterAlt(localctx, 1) 

1105 self.state = 197 

1106 self.match(Python3Parser.AT) 

1107 self.state = 198 

1108 self.dotted_name() 

1109 self.state = 204 

1110 self._errHandler.sync(self) 

1111 _la = self._input.LA(1) 

1112 if _la==Python3Parser.OPEN_PAREN: 

1113 self.state = 199 

1114 self.match(Python3Parser.OPEN_PAREN) 

1115 self.state = 201 

1116 self._errHandler.sync(self) 

1117 _la = self._input.LA(1) 

1118 if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << Python3Parser.STRING) | (1 << Python3Parser.NUMBER) | (1 << Python3Parser.LAMBDA) | (1 << Python3Parser.NOT) | (1 << Python3Parser.NONE) | (1 << Python3Parser.TRUE) | (1 << Python3Parser.FALSE) | (1 << Python3Parser.AWAIT) | (1 << Python3Parser.NAME) | (1 << Python3Parser.ELLIPSIS) | (1 << Python3Parser.STAR) | (1 << Python3Parser.OPEN_PAREN) | (1 << Python3Parser.POWER) | (1 << Python3Parser.OPEN_BRACK))) != 0) or ((((_la - 66)) & ~0x3f) == 0 and ((1 << (_la - 66)) & ((1 << (Python3Parser.ADD - 66)) | (1 << (Python3Parser.MINUS - 66)) | (1 << (Python3Parser.NOT_OP - 66)) | (1 << (Python3Parser.OPEN_BRACE - 66)))) != 0): 

1119 self.state = 200 

1120 self.arglist() 

1121 

1122 

1123 self.state = 203 

1124 self.match(Python3Parser.CLOSE_PAREN) 

1125 

1126 

1127 self.state = 206 

1128 self.match(Python3Parser.NEWLINE) 

1129 except RecognitionException as re: 

1130 localctx.exception = re 

1131 self._errHandler.reportError(self, re) 

1132 self._errHandler.recover(self, re) 

1133 finally: 

1134 self.exitRule() 

1135 return localctx 

1136 

1137 

1138 class DecoratorsContext(ParserRuleContext): 

1139 

1140 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

1141 super().__init__(parent, invokingState) 

1142 self.parser = parser 

1143 

1144 def decorator(self, i:int=None): 

1145 if i is None: 

1146 return self.getTypedRuleContexts(Python3Parser.DecoratorContext) 

1147 else: 

1148 return self.getTypedRuleContext(Python3Parser.DecoratorContext,i) 

1149 

1150 

1151 def getRuleIndex(self): 

1152 return Python3Parser.RULE_decorators 

1153 

1154 def enterRule(self, listener:ParseTreeListener): 

1155 if hasattr( listener, "enterDecorators" ): 

1156 listener.enterDecorators(self) 

1157 

1158 def exitRule(self, listener:ParseTreeListener): 

1159 if hasattr( listener, "exitDecorators" ): 

1160 listener.exitDecorators(self) 

1161 

1162 

1163 

1164 

1165 def decorators(self): 

1166 

1167 localctx = Python3Parser.DecoratorsContext(self, self._ctx, self.state) 

1168 self.enterRule(localctx, 8, self.RULE_decorators) 

1169 self._la = 0 # Token type 

1170 try: 

1171 self.enterOuterAlt(localctx, 1) 

1172 self.state = 209 

1173 self._errHandler.sync(self) 

1174 _la = self._input.LA(1) 

1175 while True: 

1176 self.state = 208 

1177 self.decorator() 

1178 self.state = 211 

1179 self._errHandler.sync(self) 

1180 _la = self._input.LA(1) 

1181 if not (_la==Python3Parser.AT): 

1182 break 

1183 

1184 except RecognitionException as re: 

1185 localctx.exception = re 

1186 self._errHandler.reportError(self, re) 

1187 self._errHandler.recover(self, re) 

1188 finally: 

1189 self.exitRule() 

1190 return localctx 

1191 

1192 

1193 class DecoratedContext(ParserRuleContext): 

1194 

1195 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

1196 super().__init__(parent, invokingState) 

1197 self.parser = parser 

1198 

1199 def decorators(self): 

1200 return self.getTypedRuleContext(Python3Parser.DecoratorsContext,0) 

1201 

1202 

1203 def classdef(self): 

1204 return self.getTypedRuleContext(Python3Parser.ClassdefContext,0) 

1205 

1206 

1207 def funcdef(self): 

1208 return self.getTypedRuleContext(Python3Parser.FuncdefContext,0) 

1209 

1210 

1211 def async_funcdef(self): 

1212 return self.getTypedRuleContext(Python3Parser.Async_funcdefContext,0) 

1213 

1214 

1215 def getRuleIndex(self): 

1216 return Python3Parser.RULE_decorated 

1217 

1218 def enterRule(self, listener:ParseTreeListener): 

1219 if hasattr( listener, "enterDecorated" ): 

1220 listener.enterDecorated(self) 

1221 

1222 def exitRule(self, listener:ParseTreeListener): 

1223 if hasattr( listener, "exitDecorated" ): 

1224 listener.exitDecorated(self) 

1225 

1226 

1227 

1228 

1229 def decorated(self): 

1230 

1231 localctx = Python3Parser.DecoratedContext(self, self._ctx, self.state) 

1232 self.enterRule(localctx, 10, self.RULE_decorated) 

1233 try: 

1234 self.enterOuterAlt(localctx, 1) 

1235 self.state = 213 

1236 self.decorators() 

1237 self.state = 217 

1238 self._errHandler.sync(self) 

1239 token = self._input.LA(1) 

1240 if token in [Python3Parser.CLASS]: 

1241 self.state = 214 

1242 self.classdef() 

1243 pass 

1244 elif token in [Python3Parser.DEF]: 

1245 self.state = 215 

1246 self.funcdef() 

1247 pass 

1248 elif token in [Python3Parser.ASYNC]: 

1249 self.state = 216 

1250 self.async_funcdef() 

1251 pass 

1252 else: 

1253 raise NoViableAltException(self) 

1254 

1255 except RecognitionException as re: 

1256 localctx.exception = re 

1257 self._errHandler.reportError(self, re) 

1258 self._errHandler.recover(self, re) 

1259 finally: 

1260 self.exitRule() 

1261 return localctx 

1262 

1263 

1264 class Async_funcdefContext(ParserRuleContext): 

1265 

1266 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

1267 super().__init__(parent, invokingState) 

1268 self.parser = parser 

1269 

1270 def ASYNC(self): 

1271 return self.getToken(Python3Parser.ASYNC, 0) 

1272 

1273 def funcdef(self): 

1274 return self.getTypedRuleContext(Python3Parser.FuncdefContext,0) 

1275 

1276 

1277 def getRuleIndex(self): 

1278 return Python3Parser.RULE_async_funcdef 

1279 

1280 def enterRule(self, listener:ParseTreeListener): 

1281 if hasattr( listener, "enterAsync_funcdef" ): 

1282 listener.enterAsync_funcdef(self) 

1283 

1284 def exitRule(self, listener:ParseTreeListener): 

1285 if hasattr( listener, "exitAsync_funcdef" ): 

1286 listener.exitAsync_funcdef(self) 

1287 

1288 

1289 

1290 

1291 def async_funcdef(self): 

1292 

1293 localctx = Python3Parser.Async_funcdefContext(self, self._ctx, self.state) 

1294 self.enterRule(localctx, 12, self.RULE_async_funcdef) 

1295 try: 

1296 self.enterOuterAlt(localctx, 1) 

1297 self.state = 219 

1298 self.match(Python3Parser.ASYNC) 

1299 self.state = 220 

1300 self.funcdef() 

1301 except RecognitionException as re: 

1302 localctx.exception = re 

1303 self._errHandler.reportError(self, re) 

1304 self._errHandler.recover(self, re) 

1305 finally: 

1306 self.exitRule() 

1307 return localctx 

1308 

1309 

1310 class FuncdefContext(ParserRuleContext): 

1311 

1312 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

1313 super().__init__(parent, invokingState) 

1314 self.parser = parser 

1315 

1316 def DEF(self): 

1317 return self.getToken(Python3Parser.DEF, 0) 

1318 

1319 def NAME(self): 

1320 return self.getToken(Python3Parser.NAME, 0) 

1321 

1322 def parameters(self): 

1323 return self.getTypedRuleContext(Python3Parser.ParametersContext,0) 

1324 

1325 

1326 def COLON(self): 

1327 return self.getToken(Python3Parser.COLON, 0) 

1328 

1329 def suite(self): 

1330 return self.getTypedRuleContext(Python3Parser.SuiteContext,0) 

1331 

1332 

1333 def ARROW(self): 

1334 return self.getToken(Python3Parser.ARROW, 0) 

1335 

1336 def test(self): 

1337 return self.getTypedRuleContext(Python3Parser.TestContext,0) 

1338 

1339 

1340 def getRuleIndex(self): 

1341 return Python3Parser.RULE_funcdef 

1342 

1343 def enterRule(self, listener:ParseTreeListener): 

1344 if hasattr( listener, "enterFuncdef" ): 

1345 listener.enterFuncdef(self) 

1346 

1347 def exitRule(self, listener:ParseTreeListener): 

1348 if hasattr( listener, "exitFuncdef" ): 

1349 listener.exitFuncdef(self) 

1350 

1351 

1352 

1353 

1354 def funcdef(self): 

1355 

1356 localctx = Python3Parser.FuncdefContext(self, self._ctx, self.state) 

1357 self.enterRule(localctx, 14, self.RULE_funcdef) 

1358 self._la = 0 # Token type 

1359 try: 

1360 self.enterOuterAlt(localctx, 1) 

1361 self.state = 222 

1362 self.match(Python3Parser.DEF) 

1363 self.state = 223 

1364 self.match(Python3Parser.NAME) 

1365 self.state = 224 

1366 self.parameters() 

1367 self.state = 227 

1368 self._errHandler.sync(self) 

1369 _la = self._input.LA(1) 

1370 if _la==Python3Parser.ARROW: 

1371 self.state = 225 

1372 self.match(Python3Parser.ARROW) 

1373 self.state = 226 

1374 self.test() 

1375 

1376 

1377 self.state = 229 

1378 self.match(Python3Parser.COLON) 

1379 self.state = 230 

1380 self.suite() 

1381 except RecognitionException as re: 

1382 localctx.exception = re 

1383 self._errHandler.reportError(self, re) 

1384 self._errHandler.recover(self, re) 

1385 finally: 

1386 self.exitRule() 

1387 return localctx 

1388 

1389 

1390 class ParametersContext(ParserRuleContext): 

1391 

1392 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

1393 super().__init__(parent, invokingState) 

1394 self.parser = parser 

1395 

1396 def OPEN_PAREN(self): 

1397 return self.getToken(Python3Parser.OPEN_PAREN, 0) 

1398 

1399 def CLOSE_PAREN(self): 

1400 return self.getToken(Python3Parser.CLOSE_PAREN, 0) 

1401 

1402 def typedargslist(self): 

1403 return self.getTypedRuleContext(Python3Parser.TypedargslistContext,0) 

1404 

1405 

1406 def getRuleIndex(self): 

1407 return Python3Parser.RULE_parameters 

1408 

1409 def enterRule(self, listener:ParseTreeListener): 

1410 if hasattr( listener, "enterParameters" ): 

1411 listener.enterParameters(self) 

1412 

1413 def exitRule(self, listener:ParseTreeListener): 

1414 if hasattr( listener, "exitParameters" ): 

1415 listener.exitParameters(self) 

1416 

1417 

1418 

1419 

1420 def parameters(self): 

1421 

1422 localctx = Python3Parser.ParametersContext(self, self._ctx, self.state) 

1423 self.enterRule(localctx, 16, self.RULE_parameters) 

1424 self._la = 0 # Token type 

1425 try: 

1426 self.enterOuterAlt(localctx, 1) 

1427 self.state = 232 

1428 self.match(Python3Parser.OPEN_PAREN) 

1429 self.state = 234 

1430 self._errHandler.sync(self) 

1431 _la = self._input.LA(1) 

1432 if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << Python3Parser.NAME) | (1 << Python3Parser.STAR) | (1 << Python3Parser.POWER))) != 0): 

1433 self.state = 233 

1434 self.typedargslist() 

1435 

1436 

1437 self.state = 236 

1438 self.match(Python3Parser.CLOSE_PAREN) 

1439 except RecognitionException as re: 

1440 localctx.exception = re 

1441 self._errHandler.reportError(self, re) 

1442 self._errHandler.recover(self, re) 

1443 finally: 

1444 self.exitRule() 

1445 return localctx 

1446 

1447 

1448 class TypedargslistContext(ParserRuleContext): 

1449 

1450 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

1451 super().__init__(parent, invokingState) 

1452 self.parser = parser 

1453 

1454 def tfpdef(self, i:int=None): 

1455 if i is None: 

1456 return self.getTypedRuleContexts(Python3Parser.TfpdefContext) 

1457 else: 

1458 return self.getTypedRuleContext(Python3Parser.TfpdefContext,i) 

1459 

1460 

1461 def STAR(self): 

1462 return self.getToken(Python3Parser.STAR, 0) 

1463 

1464 def POWER(self): 

1465 return self.getToken(Python3Parser.POWER, 0) 

1466 

1467 def ASSIGN(self, i:int=None): 

1468 if i is None: 

1469 return self.getTokens(Python3Parser.ASSIGN) 

1470 else: 

1471 return self.getToken(Python3Parser.ASSIGN, i) 

1472 

1473 def test(self, i:int=None): 

1474 if i is None: 

1475 return self.getTypedRuleContexts(Python3Parser.TestContext) 

1476 else: 

1477 return self.getTypedRuleContext(Python3Parser.TestContext,i) 

1478 

1479 

1480 def COMMA(self, i:int=None): 

1481 if i is None: 

1482 return self.getTokens(Python3Parser.COMMA) 

1483 else: 

1484 return self.getToken(Python3Parser.COMMA, i) 

1485 

1486 def getRuleIndex(self): 

1487 return Python3Parser.RULE_typedargslist 

1488 

1489 def enterRule(self, listener:ParseTreeListener): 

1490 if hasattr( listener, "enterTypedargslist" ): 

1491 listener.enterTypedargslist(self) 

1492 

1493 def exitRule(self, listener:ParseTreeListener): 

1494 if hasattr( listener, "exitTypedargslist" ): 

1495 listener.exitTypedargslist(self) 

1496 

1497 

1498 

1499 

1500 def typedargslist(self): 

1501 

1502 localctx = Python3Parser.TypedargslistContext(self, self._ctx, self.state) 

1503 self.enterRule(localctx, 18, self.RULE_typedargslist) 

1504 self._la = 0 # Token type 

1505 try: 

1506 self.enterOuterAlt(localctx, 1) 

1507 self.state = 319 

1508 self._errHandler.sync(self) 

1509 token = self._input.LA(1) 

1510 if token in [Python3Parser.NAME]: 

1511 self.state = 238 

1512 self.tfpdef() 

1513 self.state = 241 

1514 self._errHandler.sync(self) 

1515 _la = self._input.LA(1) 

1516 if _la==Python3Parser.ASSIGN: 

1517 self.state = 239 

1518 self.match(Python3Parser.ASSIGN) 

1519 self.state = 240 

1520 self.test() 

1521 

1522 

1523 self.state = 251 

1524 self._errHandler.sync(self) 

1525 _alt = self._interp.adaptivePredict(self._input,12,self._ctx) 

1526 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: 

1527 if _alt==1: 

1528 self.state = 243 

1529 self.match(Python3Parser.COMMA) 

1530 self.state = 244 

1531 self.tfpdef() 

1532 self.state = 247 

1533 self._errHandler.sync(self) 

1534 _la = self._input.LA(1) 

1535 if _la==Python3Parser.ASSIGN: 

1536 self.state = 245 

1537 self.match(Python3Parser.ASSIGN) 

1538 self.state = 246 

1539 self.test() 

1540 

1541 

1542 self.state = 253 

1543 self._errHandler.sync(self) 

1544 _alt = self._interp.adaptivePredict(self._input,12,self._ctx) 

1545 

1546 self.state = 287 

1547 self._errHandler.sync(self) 

1548 _la = self._input.LA(1) 

1549 if _la==Python3Parser.COMMA: 

1550 self.state = 254 

1551 self.match(Python3Parser.COMMA) 

1552 self.state = 285 

1553 self._errHandler.sync(self) 

1554 token = self._input.LA(1) 

1555 if token in [Python3Parser.STAR]: 

1556 self.state = 255 

1557 self.match(Python3Parser.STAR) 

1558 self.state = 257 

1559 self._errHandler.sync(self) 

1560 _la = self._input.LA(1) 

1561 if _la==Python3Parser.NAME: 

1562 self.state = 256 

1563 self.tfpdef() 

1564 

1565 

1566 self.state = 267 

1567 self._errHandler.sync(self) 

1568 _alt = self._interp.adaptivePredict(self._input,15,self._ctx) 

1569 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: 

1570 if _alt==1: 

1571 self.state = 259 

1572 self.match(Python3Parser.COMMA) 

1573 self.state = 260 

1574 self.tfpdef() 

1575 self.state = 263 

1576 self._errHandler.sync(self) 

1577 _la = self._input.LA(1) 

1578 if _la==Python3Parser.ASSIGN: 

1579 self.state = 261 

1580 self.match(Python3Parser.ASSIGN) 

1581 self.state = 262 

1582 self.test() 

1583 

1584 

1585 self.state = 269 

1586 self._errHandler.sync(self) 

1587 _alt = self._interp.adaptivePredict(self._input,15,self._ctx) 

1588 

1589 self.state = 278 

1590 self._errHandler.sync(self) 

1591 _la = self._input.LA(1) 

1592 if _la==Python3Parser.COMMA: 

1593 self.state = 270 

1594 self.match(Python3Parser.COMMA) 

1595 self.state = 276 

1596 self._errHandler.sync(self) 

1597 _la = self._input.LA(1) 

1598 if _la==Python3Parser.POWER: 

1599 self.state = 271 

1600 self.match(Python3Parser.POWER) 

1601 self.state = 272 

1602 self.tfpdef() 

1603 self.state = 274 

1604 self._errHandler.sync(self) 

1605 _la = self._input.LA(1) 

1606 if _la==Python3Parser.COMMA: 

1607 self.state = 273 

1608 self.match(Python3Parser.COMMA) 

1609 

1610 

1611 

1612 

1613 

1614 

1615 pass 

1616 elif token in [Python3Parser.POWER]: 

1617 self.state = 280 

1618 self.match(Python3Parser.POWER) 

1619 self.state = 281 

1620 self.tfpdef() 

1621 self.state = 283 

1622 self._errHandler.sync(self) 

1623 _la = self._input.LA(1) 

1624 if _la==Python3Parser.COMMA: 

1625 self.state = 282 

1626 self.match(Python3Parser.COMMA) 

1627 

1628 

1629 pass 

1630 elif token in [Python3Parser.CLOSE_PAREN]: 

1631 pass 

1632 else: 

1633 pass 

1634 

1635 

1636 pass 

1637 elif token in [Python3Parser.STAR]: 

1638 self.state = 289 

1639 self.match(Python3Parser.STAR) 

1640 self.state = 291 

1641 self._errHandler.sync(self) 

1642 _la = self._input.LA(1) 

1643 if _la==Python3Parser.NAME: 

1644 self.state = 290 

1645 self.tfpdef() 

1646 

1647 

1648 self.state = 301 

1649 self._errHandler.sync(self) 

1650 _alt = self._interp.adaptivePredict(self._input,24,self._ctx) 

1651 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: 

1652 if _alt==1: 

1653 self.state = 293 

1654 self.match(Python3Parser.COMMA) 

1655 self.state = 294 

1656 self.tfpdef() 

1657 self.state = 297 

1658 self._errHandler.sync(self) 

1659 _la = self._input.LA(1) 

1660 if _la==Python3Parser.ASSIGN: 

1661 self.state = 295 

1662 self.match(Python3Parser.ASSIGN) 

1663 self.state = 296 

1664 self.test() 

1665 

1666 

1667 self.state = 303 

1668 self._errHandler.sync(self) 

1669 _alt = self._interp.adaptivePredict(self._input,24,self._ctx) 

1670 

1671 self.state = 312 

1672 self._errHandler.sync(self) 

1673 _la = self._input.LA(1) 

1674 if _la==Python3Parser.COMMA: 

1675 self.state = 304 

1676 self.match(Python3Parser.COMMA) 

1677 self.state = 310 

1678 self._errHandler.sync(self) 

1679 _la = self._input.LA(1) 

1680 if _la==Python3Parser.POWER: 

1681 self.state = 305 

1682 self.match(Python3Parser.POWER) 

1683 self.state = 306 

1684 self.tfpdef() 

1685 self.state = 308 

1686 self._errHandler.sync(self) 

1687 _la = self._input.LA(1) 

1688 if _la==Python3Parser.COMMA: 

1689 self.state = 307 

1690 self.match(Python3Parser.COMMA) 

1691 

1692 

1693 

1694 

1695 

1696 

1697 pass 

1698 elif token in [Python3Parser.POWER]: 

1699 self.state = 314 

1700 self.match(Python3Parser.POWER) 

1701 self.state = 315 

1702 self.tfpdef() 

1703 self.state = 317 

1704 self._errHandler.sync(self) 

1705 _la = self._input.LA(1) 

1706 if _la==Python3Parser.COMMA: 

1707 self.state = 316 

1708 self.match(Python3Parser.COMMA) 

1709 

1710 

1711 pass 

1712 else: 

1713 raise NoViableAltException(self) 

1714 

1715 except RecognitionException as re: 

1716 localctx.exception = re 

1717 self._errHandler.reportError(self, re) 

1718 self._errHandler.recover(self, re) 

1719 finally: 

1720 self.exitRule() 

1721 return localctx 

1722 

1723 

1724 class TfpdefContext(ParserRuleContext): 

1725 

1726 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

1727 super().__init__(parent, invokingState) 

1728 self.parser = parser 

1729 

1730 def NAME(self): 

1731 return self.getToken(Python3Parser.NAME, 0) 

1732 

1733 def COLON(self): 

1734 return self.getToken(Python3Parser.COLON, 0) 

1735 

1736 def test(self): 

1737 return self.getTypedRuleContext(Python3Parser.TestContext,0) 

1738 

1739 

1740 def getRuleIndex(self): 

1741 return Python3Parser.RULE_tfpdef 

1742 

1743 def enterRule(self, listener:ParseTreeListener): 

1744 if hasattr( listener, "enterTfpdef" ): 

1745 listener.enterTfpdef(self) 

1746 

1747 def exitRule(self, listener:ParseTreeListener): 

1748 if hasattr( listener, "exitTfpdef" ): 

1749 listener.exitTfpdef(self) 

1750 

1751 

1752 

1753 

1754 def tfpdef(self): 

1755 

1756 localctx = Python3Parser.TfpdefContext(self, self._ctx, self.state) 

1757 self.enterRule(localctx, 20, self.RULE_tfpdef) 

1758 self._la = 0 # Token type 

1759 try: 

1760 self.enterOuterAlt(localctx, 1) 

1761 self.state = 321 

1762 self.match(Python3Parser.NAME) 

1763 self.state = 324 

1764 self._errHandler.sync(self) 

1765 _la = self._input.LA(1) 

1766 if _la==Python3Parser.COLON: 

1767 self.state = 322 

1768 self.match(Python3Parser.COLON) 

1769 self.state = 323 

1770 self.test() 

1771 

1772 

1773 except RecognitionException as re: 

1774 localctx.exception = re 

1775 self._errHandler.reportError(self, re) 

1776 self._errHandler.recover(self, re) 

1777 finally: 

1778 self.exitRule() 

1779 return localctx 

1780 

1781 

1782 class VarargslistContext(ParserRuleContext): 

1783 

1784 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

1785 super().__init__(parent, invokingState) 

1786 self.parser = parser 

1787 

1788 def vfpdef(self, i:int=None): 

1789 if i is None: 

1790 return self.getTypedRuleContexts(Python3Parser.VfpdefContext) 

1791 else: 

1792 return self.getTypedRuleContext(Python3Parser.VfpdefContext,i) 

1793 

1794 

1795 def STAR(self): 

1796 return self.getToken(Python3Parser.STAR, 0) 

1797 

1798 def POWER(self): 

1799 return self.getToken(Python3Parser.POWER, 0) 

1800 

1801 def ASSIGN(self, i:int=None): 

1802 if i is None: 

1803 return self.getTokens(Python3Parser.ASSIGN) 

1804 else: 

1805 return self.getToken(Python3Parser.ASSIGN, i) 

1806 

1807 def test(self, i:int=None): 

1808 if i is None: 

1809 return self.getTypedRuleContexts(Python3Parser.TestContext) 

1810 else: 

1811 return self.getTypedRuleContext(Python3Parser.TestContext,i) 

1812 

1813 

1814 def COMMA(self, i:int=None): 

1815 if i is None: 

1816 return self.getTokens(Python3Parser.COMMA) 

1817 else: 

1818 return self.getToken(Python3Parser.COMMA, i) 

1819 

1820 def getRuleIndex(self): 

1821 return Python3Parser.RULE_varargslist 

1822 

1823 def enterRule(self, listener:ParseTreeListener): 

1824 if hasattr( listener, "enterVarargslist" ): 

1825 listener.enterVarargslist(self) 

1826 

1827 def exitRule(self, listener:ParseTreeListener): 

1828 if hasattr( listener, "exitVarargslist" ): 

1829 listener.exitVarargslist(self) 

1830 

1831 

1832 

1833 

1834 def varargslist(self): 

1835 

1836 localctx = Python3Parser.VarargslistContext(self, self._ctx, self.state) 

1837 self.enterRule(localctx, 22, self.RULE_varargslist) 

1838 self._la = 0 # Token type 

1839 try: 

1840 self.enterOuterAlt(localctx, 1) 

1841 self.state = 407 

1842 self._errHandler.sync(self) 

1843 token = self._input.LA(1) 

1844 if token in [Python3Parser.NAME]: 

1845 self.state = 326 

1846 self.vfpdef() 

1847 self.state = 329 

1848 self._errHandler.sync(self) 

1849 _la = self._input.LA(1) 

1850 if _la==Python3Parser.ASSIGN: 

1851 self.state = 327 

1852 self.match(Python3Parser.ASSIGN) 

1853 self.state = 328 

1854 self.test() 

1855 

1856 

1857 self.state = 339 

1858 self._errHandler.sync(self) 

1859 _alt = self._interp.adaptivePredict(self._input,33,self._ctx) 

1860 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: 

1861 if _alt==1: 

1862 self.state = 331 

1863 self.match(Python3Parser.COMMA) 

1864 self.state = 332 

1865 self.vfpdef() 

1866 self.state = 335 

1867 self._errHandler.sync(self) 

1868 _la = self._input.LA(1) 

1869 if _la==Python3Parser.ASSIGN: 

1870 self.state = 333 

1871 self.match(Python3Parser.ASSIGN) 

1872 self.state = 334 

1873 self.test() 

1874 

1875 

1876 self.state = 341 

1877 self._errHandler.sync(self) 

1878 _alt = self._interp.adaptivePredict(self._input,33,self._ctx) 

1879 

1880 self.state = 375 

1881 self._errHandler.sync(self) 

1882 _la = self._input.LA(1) 

1883 if _la==Python3Parser.COMMA: 

1884 self.state = 342 

1885 self.match(Python3Parser.COMMA) 

1886 self.state = 373 

1887 self._errHandler.sync(self) 

1888 token = self._input.LA(1) 

1889 if token in [Python3Parser.STAR]: 

1890 self.state = 343 

1891 self.match(Python3Parser.STAR) 

1892 self.state = 345 

1893 self._errHandler.sync(self) 

1894 _la = self._input.LA(1) 

1895 if _la==Python3Parser.NAME: 

1896 self.state = 344 

1897 self.vfpdef() 

1898 

1899 

1900 self.state = 355 

1901 self._errHandler.sync(self) 

1902 _alt = self._interp.adaptivePredict(self._input,36,self._ctx) 

1903 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: 

1904 if _alt==1: 

1905 self.state = 347 

1906 self.match(Python3Parser.COMMA) 

1907 self.state = 348 

1908 self.vfpdef() 

1909 self.state = 351 

1910 self._errHandler.sync(self) 

1911 _la = self._input.LA(1) 

1912 if _la==Python3Parser.ASSIGN: 

1913 self.state = 349 

1914 self.match(Python3Parser.ASSIGN) 

1915 self.state = 350 

1916 self.test() 

1917 

1918 

1919 self.state = 357 

1920 self._errHandler.sync(self) 

1921 _alt = self._interp.adaptivePredict(self._input,36,self._ctx) 

1922 

1923 self.state = 366 

1924 self._errHandler.sync(self) 

1925 _la = self._input.LA(1) 

1926 if _la==Python3Parser.COMMA: 

1927 self.state = 358 

1928 self.match(Python3Parser.COMMA) 

1929 self.state = 364 

1930 self._errHandler.sync(self) 

1931 _la = self._input.LA(1) 

1932 if _la==Python3Parser.POWER: 

1933 self.state = 359 

1934 self.match(Python3Parser.POWER) 

1935 self.state = 360 

1936 self.vfpdef() 

1937 self.state = 362 

1938 self._errHandler.sync(self) 

1939 _la = self._input.LA(1) 

1940 if _la==Python3Parser.COMMA: 

1941 self.state = 361 

1942 self.match(Python3Parser.COMMA) 

1943 

1944 

1945 

1946 

1947 

1948 

1949 pass 

1950 elif token in [Python3Parser.POWER]: 

1951 self.state = 368 

1952 self.match(Python3Parser.POWER) 

1953 self.state = 369 

1954 self.vfpdef() 

1955 self.state = 371 

1956 self._errHandler.sync(self) 

1957 _la = self._input.LA(1) 

1958 if _la==Python3Parser.COMMA: 

1959 self.state = 370 

1960 self.match(Python3Parser.COMMA) 

1961 

1962 

1963 pass 

1964 elif token in [Python3Parser.COLON]: 

1965 pass 

1966 else: 

1967 pass 

1968 

1969 

1970 pass 

1971 elif token in [Python3Parser.STAR]: 

1972 self.state = 377 

1973 self.match(Python3Parser.STAR) 

1974 self.state = 379 

1975 self._errHandler.sync(self) 

1976 _la = self._input.LA(1) 

1977 if _la==Python3Parser.NAME: 

1978 self.state = 378 

1979 self.vfpdef() 

1980 

1981 

1982 self.state = 389 

1983 self._errHandler.sync(self) 

1984 _alt = self._interp.adaptivePredict(self._input,45,self._ctx) 

1985 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: 

1986 if _alt==1: 

1987 self.state = 381 

1988 self.match(Python3Parser.COMMA) 

1989 self.state = 382 

1990 self.vfpdef() 

1991 self.state = 385 

1992 self._errHandler.sync(self) 

1993 _la = self._input.LA(1) 

1994 if _la==Python3Parser.ASSIGN: 

1995 self.state = 383 

1996 self.match(Python3Parser.ASSIGN) 

1997 self.state = 384 

1998 self.test() 

1999 

2000 

2001 self.state = 391 

2002 self._errHandler.sync(self) 

2003 _alt = self._interp.adaptivePredict(self._input,45,self._ctx) 

2004 

2005 self.state = 400 

2006 self._errHandler.sync(self) 

2007 _la = self._input.LA(1) 

2008 if _la==Python3Parser.COMMA: 

2009 self.state = 392 

2010 self.match(Python3Parser.COMMA) 

2011 self.state = 398 

2012 self._errHandler.sync(self) 

2013 _la = self._input.LA(1) 

2014 if _la==Python3Parser.POWER: 

2015 self.state = 393 

2016 self.match(Python3Parser.POWER) 

2017 self.state = 394 

2018 self.vfpdef() 

2019 self.state = 396 

2020 self._errHandler.sync(self) 

2021 _la = self._input.LA(1) 

2022 if _la==Python3Parser.COMMA: 

2023 self.state = 395 

2024 self.match(Python3Parser.COMMA) 

2025 

2026 

2027 

2028 

2029 

2030 

2031 pass 

2032 elif token in [Python3Parser.POWER]: 

2033 self.state = 402 

2034 self.match(Python3Parser.POWER) 

2035 self.state = 403 

2036 self.vfpdef() 

2037 self.state = 405 

2038 self._errHandler.sync(self) 

2039 _la = self._input.LA(1) 

2040 if _la==Python3Parser.COMMA: 

2041 self.state = 404 

2042 self.match(Python3Parser.COMMA) 

2043 

2044 

2045 pass 

2046 else: 

2047 raise NoViableAltException(self) 

2048 

2049 except RecognitionException as re: 

2050 localctx.exception = re 

2051 self._errHandler.reportError(self, re) 

2052 self._errHandler.recover(self, re) 

2053 finally: 

2054 self.exitRule() 

2055 return localctx 

2056 

2057 

2058 class VfpdefContext(ParserRuleContext): 

2059 

2060 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

2061 super().__init__(parent, invokingState) 

2062 self.parser = parser 

2063 

2064 def NAME(self): 

2065 return self.getToken(Python3Parser.NAME, 0) 

2066 

2067 def getRuleIndex(self): 

2068 return Python3Parser.RULE_vfpdef 

2069 

2070 def enterRule(self, listener:ParseTreeListener): 

2071 if hasattr( listener, "enterVfpdef" ): 

2072 listener.enterVfpdef(self) 

2073 

2074 def exitRule(self, listener:ParseTreeListener): 

2075 if hasattr( listener, "exitVfpdef" ): 

2076 listener.exitVfpdef(self) 

2077 

2078 

2079 

2080 

2081 def vfpdef(self): 

2082 

2083 localctx = Python3Parser.VfpdefContext(self, self._ctx, self.state) 

2084 self.enterRule(localctx, 24, self.RULE_vfpdef) 

2085 try: 

2086 self.enterOuterAlt(localctx, 1) 

2087 self.state = 409 

2088 self.match(Python3Parser.NAME) 

2089 except RecognitionException as re: 

2090 localctx.exception = re 

2091 self._errHandler.reportError(self, re) 

2092 self._errHandler.recover(self, re) 

2093 finally: 

2094 self.exitRule() 

2095 return localctx 

2096 

2097 

2098 class StmtContext(ParserRuleContext): 

2099 

2100 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

2101 super().__init__(parent, invokingState) 

2102 self.parser = parser 

2103 

2104 def simple_stmt(self): 

2105 return self.getTypedRuleContext(Python3Parser.Simple_stmtContext,0) 

2106 

2107 

2108 def compound_stmt(self): 

2109 return self.getTypedRuleContext(Python3Parser.Compound_stmtContext,0) 

2110 

2111 

2112 def getRuleIndex(self): 

2113 return Python3Parser.RULE_stmt 

2114 

2115 def enterRule(self, listener:ParseTreeListener): 

2116 if hasattr( listener, "enterStmt" ): 

2117 listener.enterStmt(self) 

2118 

2119 def exitRule(self, listener:ParseTreeListener): 

2120 if hasattr( listener, "exitStmt" ): 

2121 listener.exitStmt(self) 

2122 

2123 

2124 

2125 

2126 def stmt(self): 

2127 

2128 localctx = Python3Parser.StmtContext(self, self._ctx, self.state) 

2129 self.enterRule(localctx, 26, self.RULE_stmt) 

2130 try: 

2131 self.state = 413 

2132 self._errHandler.sync(self) 

2133 token = self._input.LA(1) 

2134 if token in [Python3Parser.STRING, Python3Parser.NUMBER, Python3Parser.RETURN, Python3Parser.RAISE, Python3Parser.FROM, Python3Parser.IMPORT, Python3Parser.GLOBAL, Python3Parser.NONLOCAL, Python3Parser.ASSERT, Python3Parser.LAMBDA, Python3Parser.NOT, Python3Parser.NONE, Python3Parser.TRUE, Python3Parser.FALSE, Python3Parser.YIELD, Python3Parser.DEL, Python3Parser.PASS, Python3Parser.CONTINUE, Python3Parser.BREAK, Python3Parser.AWAIT, Python3Parser.NAME, Python3Parser.ELLIPSIS, Python3Parser.STAR, Python3Parser.OPEN_PAREN, Python3Parser.OPEN_BRACK, Python3Parser.ADD, Python3Parser.MINUS, Python3Parser.NOT_OP, Python3Parser.OPEN_BRACE]: 

2135 self.enterOuterAlt(localctx, 1) 

2136 self.state = 411 

2137 self.simple_stmt() 

2138 pass 

2139 elif token in [Python3Parser.DEF, Python3Parser.IF, Python3Parser.WHILE, Python3Parser.FOR, Python3Parser.TRY, Python3Parser.WITH, Python3Parser.CLASS, Python3Parser.ASYNC, Python3Parser.AT]: 

2140 self.enterOuterAlt(localctx, 2) 

2141 self.state = 412 

2142 self.compound_stmt() 

2143 pass 

2144 else: 

2145 raise NoViableAltException(self) 

2146 

2147 except RecognitionException as re: 

2148 localctx.exception = re 

2149 self._errHandler.reportError(self, re) 

2150 self._errHandler.recover(self, re) 

2151 finally: 

2152 self.exitRule() 

2153 return localctx 

2154 

2155 

2156 class Simple_stmtContext(ParserRuleContext): 

2157 

2158 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

2159 super().__init__(parent, invokingState) 

2160 self.parser = parser 

2161 

2162 def small_stmt(self, i:int=None): 

2163 if i is None: 

2164 return self.getTypedRuleContexts(Python3Parser.Small_stmtContext) 

2165 else: 

2166 return self.getTypedRuleContext(Python3Parser.Small_stmtContext,i) 

2167 

2168 

2169 def NEWLINE(self): 

2170 return self.getToken(Python3Parser.NEWLINE, 0) 

2171 

2172 def SEMI_COLON(self, i:int=None): 

2173 if i is None: 

2174 return self.getTokens(Python3Parser.SEMI_COLON) 

2175 else: 

2176 return self.getToken(Python3Parser.SEMI_COLON, i) 

2177 

2178 def getRuleIndex(self): 

2179 return Python3Parser.RULE_simple_stmt 

2180 

2181 def enterRule(self, listener:ParseTreeListener): 

2182 if hasattr( listener, "enterSimple_stmt" ): 

2183 listener.enterSimple_stmt(self) 

2184 

2185 def exitRule(self, listener:ParseTreeListener): 

2186 if hasattr( listener, "exitSimple_stmt" ): 

2187 listener.exitSimple_stmt(self) 

2188 

2189 

2190 

2191 

2192 def simple_stmt(self): 

2193 

2194 localctx = Python3Parser.Simple_stmtContext(self, self._ctx, self.state) 

2195 self.enterRule(localctx, 28, self.RULE_simple_stmt) 

2196 self._la = 0 # Token type 

2197 try: 

2198 self.enterOuterAlt(localctx, 1) 

2199 self.state = 415 

2200 self.small_stmt() 

2201 self.state = 420 

2202 self._errHandler.sync(self) 

2203 _alt = self._interp.adaptivePredict(self._input,52,self._ctx) 

2204 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: 

2205 if _alt==1: 

2206 self.state = 416 

2207 self.match(Python3Parser.SEMI_COLON) 

2208 self.state = 417 

2209 self.small_stmt() 

2210 self.state = 422 

2211 self._errHandler.sync(self) 

2212 _alt = self._interp.adaptivePredict(self._input,52,self._ctx) 

2213 

2214 self.state = 424 

2215 self._errHandler.sync(self) 

2216 _la = self._input.LA(1) 

2217 if _la==Python3Parser.SEMI_COLON: 

2218 self.state = 423 

2219 self.match(Python3Parser.SEMI_COLON) 

2220 

2221 

2222 self.state = 426 

2223 self.match(Python3Parser.NEWLINE) 

2224 except RecognitionException as re: 

2225 localctx.exception = re 

2226 self._errHandler.reportError(self, re) 

2227 self._errHandler.recover(self, re) 

2228 finally: 

2229 self.exitRule() 

2230 return localctx 

2231 

2232 

2233 class Small_stmtContext(ParserRuleContext): 

2234 

2235 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

2236 super().__init__(parent, invokingState) 

2237 self.parser = parser 

2238 

2239 def expr_stmt(self): 

2240 return self.getTypedRuleContext(Python3Parser.Expr_stmtContext,0) 

2241 

2242 

2243 def del_stmt(self): 

2244 return self.getTypedRuleContext(Python3Parser.Del_stmtContext,0) 

2245 

2246 

2247 def pass_stmt(self): 

2248 return self.getTypedRuleContext(Python3Parser.Pass_stmtContext,0) 

2249 

2250 

2251 def flow_stmt(self): 

2252 return self.getTypedRuleContext(Python3Parser.Flow_stmtContext,0) 

2253 

2254 

2255 def import_stmt(self): 

2256 return self.getTypedRuleContext(Python3Parser.Import_stmtContext,0) 

2257 

2258 

2259 def global_stmt(self): 

2260 return self.getTypedRuleContext(Python3Parser.Global_stmtContext,0) 

2261 

2262 

2263 def nonlocal_stmt(self): 

2264 return self.getTypedRuleContext(Python3Parser.Nonlocal_stmtContext,0) 

2265 

2266 

2267 def assert_stmt(self): 

2268 return self.getTypedRuleContext(Python3Parser.Assert_stmtContext,0) 

2269 

2270 

2271 def getRuleIndex(self): 

2272 return Python3Parser.RULE_small_stmt 

2273 

2274 def enterRule(self, listener:ParseTreeListener): 

2275 if hasattr( listener, "enterSmall_stmt" ): 

2276 listener.enterSmall_stmt(self) 

2277 

2278 def exitRule(self, listener:ParseTreeListener): 

2279 if hasattr( listener, "exitSmall_stmt" ): 

2280 listener.exitSmall_stmt(self) 

2281 

2282 

2283 

2284 

2285 def small_stmt(self): 

2286 

2287 localctx = Python3Parser.Small_stmtContext(self, self._ctx, self.state) 

2288 self.enterRule(localctx, 30, self.RULE_small_stmt) 

2289 try: 

2290 self.enterOuterAlt(localctx, 1) 

2291 self.state = 436 

2292 self._errHandler.sync(self) 

2293 token = self._input.LA(1) 

2294 if token in [Python3Parser.STRING, Python3Parser.NUMBER, Python3Parser.LAMBDA, Python3Parser.NOT, Python3Parser.NONE, Python3Parser.TRUE, Python3Parser.FALSE, Python3Parser.AWAIT, Python3Parser.NAME, Python3Parser.ELLIPSIS, Python3Parser.STAR, Python3Parser.OPEN_PAREN, Python3Parser.OPEN_BRACK, Python3Parser.ADD, Python3Parser.MINUS, Python3Parser.NOT_OP, Python3Parser.OPEN_BRACE]: 

2295 self.state = 428 

2296 self.expr_stmt() 

2297 pass 

2298 elif token in [Python3Parser.DEL]: 

2299 self.state = 429 

2300 self.del_stmt() 

2301 pass 

2302 elif token in [Python3Parser.PASS]: 

2303 self.state = 430 

2304 self.pass_stmt() 

2305 pass 

2306 elif token in [Python3Parser.RETURN, Python3Parser.RAISE, Python3Parser.YIELD, Python3Parser.CONTINUE, Python3Parser.BREAK]: 

2307 self.state = 431 

2308 self.flow_stmt() 

2309 pass 

2310 elif token in [Python3Parser.FROM, Python3Parser.IMPORT]: 

2311 self.state = 432 

2312 self.import_stmt() 

2313 pass 

2314 elif token in [Python3Parser.GLOBAL]: 

2315 self.state = 433 

2316 self.global_stmt() 

2317 pass 

2318 elif token in [Python3Parser.NONLOCAL]: 

2319 self.state = 434 

2320 self.nonlocal_stmt() 

2321 pass 

2322 elif token in [Python3Parser.ASSERT]: 

2323 self.state = 435 

2324 self.assert_stmt() 

2325 pass 

2326 else: 

2327 raise NoViableAltException(self) 

2328 

2329 except RecognitionException as re: 

2330 localctx.exception = re 

2331 self._errHandler.reportError(self, re) 

2332 self._errHandler.recover(self, re) 

2333 finally: 

2334 self.exitRule() 

2335 return localctx 

2336 

2337 

2338 class Expr_stmtContext(ParserRuleContext): 

2339 

2340 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

2341 super().__init__(parent, invokingState) 

2342 self.parser = parser 

2343 

2344 def testlist_star_expr(self, i:int=None): 

2345 if i is None: 

2346 return self.getTypedRuleContexts(Python3Parser.Testlist_star_exprContext) 

2347 else: 

2348 return self.getTypedRuleContext(Python3Parser.Testlist_star_exprContext,i) 

2349 

2350 

2351 def annassign(self): 

2352 return self.getTypedRuleContext(Python3Parser.AnnassignContext,0) 

2353 

2354 

2355 def augassign(self): 

2356 return self.getTypedRuleContext(Python3Parser.AugassignContext,0) 

2357 

2358 

2359 def yield_expr(self, i:int=None): 

2360 if i is None: 

2361 return self.getTypedRuleContexts(Python3Parser.Yield_exprContext) 

2362 else: 

2363 return self.getTypedRuleContext(Python3Parser.Yield_exprContext,i) 

2364 

2365 

2366 def testlist(self): 

2367 return self.getTypedRuleContext(Python3Parser.TestlistContext,0) 

2368 

2369 

2370 def ASSIGN(self, i:int=None): 

2371 if i is None: 

2372 return self.getTokens(Python3Parser.ASSIGN) 

2373 else: 

2374 return self.getToken(Python3Parser.ASSIGN, i) 

2375 

2376 def getRuleIndex(self): 

2377 return Python3Parser.RULE_expr_stmt 

2378 

2379 def enterRule(self, listener:ParseTreeListener): 

2380 if hasattr( listener, "enterExpr_stmt" ): 

2381 listener.enterExpr_stmt(self) 

2382 

2383 def exitRule(self, listener:ParseTreeListener): 

2384 if hasattr( listener, "exitExpr_stmt" ): 

2385 listener.exitExpr_stmt(self) 

2386 

2387 

2388 

2389 

2390 def expr_stmt(self): 

2391 

2392 localctx = Python3Parser.Expr_stmtContext(self, self._ctx, self.state) 

2393 self.enterRule(localctx, 32, self.RULE_expr_stmt) 

2394 self._la = 0 # Token type 

2395 try: 

2396 self.enterOuterAlt(localctx, 1) 

2397 self.state = 438 

2398 self.testlist_star_expr() 

2399 self.state = 455 

2400 self._errHandler.sync(self) 

2401 token = self._input.LA(1) 

2402 if token in [Python3Parser.COLON]: 

2403 self.state = 439 

2404 self.annassign() 

2405 pass 

2406 elif token in [Python3Parser.ADD_ASSIGN, Python3Parser.SUB_ASSIGN, Python3Parser.MULT_ASSIGN, Python3Parser.AT_ASSIGN, Python3Parser.DIV_ASSIGN, Python3Parser.MOD_ASSIGN, Python3Parser.AND_ASSIGN, Python3Parser.OR_ASSIGN, Python3Parser.XOR_ASSIGN, Python3Parser.LEFT_SHIFT_ASSIGN, Python3Parser.RIGHT_SHIFT_ASSIGN, Python3Parser.POWER_ASSIGN, Python3Parser.IDIV_ASSIGN]: 

2407 self.state = 440 

2408 self.augassign() 

2409 self.state = 443 

2410 self._errHandler.sync(self) 

2411 token = self._input.LA(1) 

2412 if token in [Python3Parser.YIELD]: 

2413 self.state = 441 

2414 self.yield_expr() 

2415 pass 

2416 elif token in [Python3Parser.STRING, Python3Parser.NUMBER, Python3Parser.LAMBDA, Python3Parser.NOT, Python3Parser.NONE, Python3Parser.TRUE, Python3Parser.FALSE, Python3Parser.AWAIT, Python3Parser.NAME, Python3Parser.ELLIPSIS, Python3Parser.OPEN_PAREN, Python3Parser.OPEN_BRACK, Python3Parser.ADD, Python3Parser.MINUS, Python3Parser.NOT_OP, Python3Parser.OPEN_BRACE]: 

2417 self.state = 442 

2418 self.testlist() 

2419 pass 

2420 else: 

2421 raise NoViableAltException(self) 

2422 

2423 pass 

2424 elif token in [Python3Parser.NEWLINE, Python3Parser.SEMI_COLON, Python3Parser.ASSIGN]: 

2425 self.state = 452 

2426 self._errHandler.sync(self) 

2427 _la = self._input.LA(1) 

2428 while _la==Python3Parser.ASSIGN: 

2429 self.state = 445 

2430 self.match(Python3Parser.ASSIGN) 

2431 self.state = 448 

2432 self._errHandler.sync(self) 

2433 token = self._input.LA(1) 

2434 if token in [Python3Parser.YIELD]: 

2435 self.state = 446 

2436 self.yield_expr() 

2437 pass 

2438 elif token in [Python3Parser.STRING, Python3Parser.NUMBER, Python3Parser.LAMBDA, Python3Parser.NOT, Python3Parser.NONE, Python3Parser.TRUE, Python3Parser.FALSE, Python3Parser.AWAIT, Python3Parser.NAME, Python3Parser.ELLIPSIS, Python3Parser.STAR, Python3Parser.OPEN_PAREN, Python3Parser.OPEN_BRACK, Python3Parser.ADD, Python3Parser.MINUS, Python3Parser.NOT_OP, Python3Parser.OPEN_BRACE]: 

2439 self.state = 447 

2440 self.testlist_star_expr() 

2441 pass 

2442 else: 

2443 raise NoViableAltException(self) 

2444 

2445 self.state = 454 

2446 self._errHandler.sync(self) 

2447 _la = self._input.LA(1) 

2448 

2449 pass 

2450 else: 

2451 raise NoViableAltException(self) 

2452 

2453 except RecognitionException as re: 

2454 localctx.exception = re 

2455 self._errHandler.reportError(self, re) 

2456 self._errHandler.recover(self, re) 

2457 finally: 

2458 self.exitRule() 

2459 return localctx 

2460 

2461 

2462 class AnnassignContext(ParserRuleContext): 

2463 

2464 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

2465 super().__init__(parent, invokingState) 

2466 self.parser = parser 

2467 

2468 def COLON(self): 

2469 return self.getToken(Python3Parser.COLON, 0) 

2470 

2471 def test(self, i:int=None): 

2472 if i is None: 

2473 return self.getTypedRuleContexts(Python3Parser.TestContext) 

2474 else: 

2475 return self.getTypedRuleContext(Python3Parser.TestContext,i) 

2476 

2477 

2478 def ASSIGN(self): 

2479 return self.getToken(Python3Parser.ASSIGN, 0) 

2480 

2481 def getRuleIndex(self): 

2482 return Python3Parser.RULE_annassign 

2483 

2484 def enterRule(self, listener:ParseTreeListener): 

2485 if hasattr( listener, "enterAnnassign" ): 

2486 listener.enterAnnassign(self) 

2487 

2488 def exitRule(self, listener:ParseTreeListener): 

2489 if hasattr( listener, "exitAnnassign" ): 

2490 listener.exitAnnassign(self) 

2491 

2492 

2493 

2494 

2495 def annassign(self): 

2496 

2497 localctx = Python3Parser.AnnassignContext(self, self._ctx, self.state) 

2498 self.enterRule(localctx, 34, self.RULE_annassign) 

2499 self._la = 0 # Token type 

2500 try: 

2501 self.enterOuterAlt(localctx, 1) 

2502 self.state = 457 

2503 self.match(Python3Parser.COLON) 

2504 self.state = 458 

2505 self.test() 

2506 self.state = 461 

2507 self._errHandler.sync(self) 

2508 _la = self._input.LA(1) 

2509 if _la==Python3Parser.ASSIGN: 

2510 self.state = 459 

2511 self.match(Python3Parser.ASSIGN) 

2512 self.state = 460 

2513 self.test() 

2514 

2515 

2516 except RecognitionException as re: 

2517 localctx.exception = re 

2518 self._errHandler.reportError(self, re) 

2519 self._errHandler.recover(self, re) 

2520 finally: 

2521 self.exitRule() 

2522 return localctx 

2523 

2524 

2525 class Testlist_star_exprContext(ParserRuleContext): 

2526 

2527 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

2528 super().__init__(parent, invokingState) 

2529 self.parser = parser 

2530 

2531 def test(self, i:int=None): 

2532 if i is None: 

2533 return self.getTypedRuleContexts(Python3Parser.TestContext) 

2534 else: 

2535 return self.getTypedRuleContext(Python3Parser.TestContext,i) 

2536 

2537 

2538 def star_expr(self, i:int=None): 

2539 if i is None: 

2540 return self.getTypedRuleContexts(Python3Parser.Star_exprContext) 

2541 else: 

2542 return self.getTypedRuleContext(Python3Parser.Star_exprContext,i) 

2543 

2544 

2545 def COMMA(self, i:int=None): 

2546 if i is None: 

2547 return self.getTokens(Python3Parser.COMMA) 

2548 else: 

2549 return self.getToken(Python3Parser.COMMA, i) 

2550 

2551 def getRuleIndex(self): 

2552 return Python3Parser.RULE_testlist_star_expr 

2553 

2554 def enterRule(self, listener:ParseTreeListener): 

2555 if hasattr( listener, "enterTestlist_star_expr" ): 

2556 listener.enterTestlist_star_expr(self) 

2557 

2558 def exitRule(self, listener:ParseTreeListener): 

2559 if hasattr( listener, "exitTestlist_star_expr" ): 

2560 listener.exitTestlist_star_expr(self) 

2561 

2562 

2563 

2564 

2565 def testlist_star_expr(self): 

2566 

2567 localctx = Python3Parser.Testlist_star_exprContext(self, self._ctx, self.state) 

2568 self.enterRule(localctx, 36, self.RULE_testlist_star_expr) 

2569 self._la = 0 # Token type 

2570 try: 

2571 self.enterOuterAlt(localctx, 1) 

2572 self.state = 465 

2573 self._errHandler.sync(self) 

2574 token = self._input.LA(1) 

2575 if token in [Python3Parser.STRING, Python3Parser.NUMBER, Python3Parser.LAMBDA, Python3Parser.NOT, Python3Parser.NONE, Python3Parser.TRUE, Python3Parser.FALSE, Python3Parser.AWAIT, Python3Parser.NAME, Python3Parser.ELLIPSIS, Python3Parser.OPEN_PAREN, Python3Parser.OPEN_BRACK, Python3Parser.ADD, Python3Parser.MINUS, Python3Parser.NOT_OP, Python3Parser.OPEN_BRACE]: 

2576 self.state = 463 

2577 self.test() 

2578 pass 

2579 elif token in [Python3Parser.STAR]: 

2580 self.state = 464 

2581 self.star_expr() 

2582 pass 

2583 else: 

2584 raise NoViableAltException(self) 

2585 

2586 self.state = 474 

2587 self._errHandler.sync(self) 

2588 _alt = self._interp.adaptivePredict(self._input,62,self._ctx) 

2589 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: 

2590 if _alt==1: 

2591 self.state = 467 

2592 self.match(Python3Parser.COMMA) 

2593 self.state = 470 

2594 self._errHandler.sync(self) 

2595 token = self._input.LA(1) 

2596 if token in [Python3Parser.STRING, Python3Parser.NUMBER, Python3Parser.LAMBDA, Python3Parser.NOT, Python3Parser.NONE, Python3Parser.TRUE, Python3Parser.FALSE, Python3Parser.AWAIT, Python3Parser.NAME, Python3Parser.ELLIPSIS, Python3Parser.OPEN_PAREN, Python3Parser.OPEN_BRACK, Python3Parser.ADD, Python3Parser.MINUS, Python3Parser.NOT_OP, Python3Parser.OPEN_BRACE]: 

2597 self.state = 468 

2598 self.test() 

2599 pass 

2600 elif token in [Python3Parser.STAR]: 

2601 self.state = 469 

2602 self.star_expr() 

2603 pass 

2604 else: 

2605 raise NoViableAltException(self) 

2606 

2607 self.state = 476 

2608 self._errHandler.sync(self) 

2609 _alt = self._interp.adaptivePredict(self._input,62,self._ctx) 

2610 

2611 self.state = 478 

2612 self._errHandler.sync(self) 

2613 _la = self._input.LA(1) 

2614 if _la==Python3Parser.COMMA: 

2615 self.state = 477 

2616 self.match(Python3Parser.COMMA) 

2617 

2618 

2619 except RecognitionException as re: 

2620 localctx.exception = re 

2621 self._errHandler.reportError(self, re) 

2622 self._errHandler.recover(self, re) 

2623 finally: 

2624 self.exitRule() 

2625 return localctx 

2626 

2627 

2628 class AugassignContext(ParserRuleContext): 

2629 

2630 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

2631 super().__init__(parent, invokingState) 

2632 self.parser = parser 

2633 

2634 def ADD_ASSIGN(self): 

2635 return self.getToken(Python3Parser.ADD_ASSIGN, 0) 

2636 

2637 def SUB_ASSIGN(self): 

2638 return self.getToken(Python3Parser.SUB_ASSIGN, 0) 

2639 

2640 def MULT_ASSIGN(self): 

2641 return self.getToken(Python3Parser.MULT_ASSIGN, 0) 

2642 

2643 def AT_ASSIGN(self): 

2644 return self.getToken(Python3Parser.AT_ASSIGN, 0) 

2645 

2646 def DIV_ASSIGN(self): 

2647 return self.getToken(Python3Parser.DIV_ASSIGN, 0) 

2648 

2649 def MOD_ASSIGN(self): 

2650 return self.getToken(Python3Parser.MOD_ASSIGN, 0) 

2651 

2652 def AND_ASSIGN(self): 

2653 return self.getToken(Python3Parser.AND_ASSIGN, 0) 

2654 

2655 def OR_ASSIGN(self): 

2656 return self.getToken(Python3Parser.OR_ASSIGN, 0) 

2657 

2658 def XOR_ASSIGN(self): 

2659 return self.getToken(Python3Parser.XOR_ASSIGN, 0) 

2660 

2661 def LEFT_SHIFT_ASSIGN(self): 

2662 return self.getToken(Python3Parser.LEFT_SHIFT_ASSIGN, 0) 

2663 

2664 def RIGHT_SHIFT_ASSIGN(self): 

2665 return self.getToken(Python3Parser.RIGHT_SHIFT_ASSIGN, 0) 

2666 

2667 def POWER_ASSIGN(self): 

2668 return self.getToken(Python3Parser.POWER_ASSIGN, 0) 

2669 

2670 def IDIV_ASSIGN(self): 

2671 return self.getToken(Python3Parser.IDIV_ASSIGN, 0) 

2672 

2673 def getRuleIndex(self): 

2674 return Python3Parser.RULE_augassign 

2675 

2676 def enterRule(self, listener:ParseTreeListener): 

2677 if hasattr( listener, "enterAugassign" ): 

2678 listener.enterAugassign(self) 

2679 

2680 def exitRule(self, listener:ParseTreeListener): 

2681 if hasattr( listener, "exitAugassign" ): 

2682 listener.exitAugassign(self) 

2683 

2684 

2685 

2686 

2687 def augassign(self): 

2688 

2689 localctx = Python3Parser.AugassignContext(self, self._ctx, self.state) 

2690 self.enterRule(localctx, 38, self.RULE_augassign) 

2691 self._la = 0 # Token type 

2692 try: 

2693 self.enterOuterAlt(localctx, 1) 

2694 self.state = 480 

2695 _la = self._input.LA(1) 

2696 if not(((((_la - 83)) & ~0x3f) == 0 and ((1 << (_la - 83)) & ((1 << (Python3Parser.ADD_ASSIGN - 83)) | (1 << (Python3Parser.SUB_ASSIGN - 83)) | (1 << (Python3Parser.MULT_ASSIGN - 83)) | (1 << (Python3Parser.AT_ASSIGN - 83)) | (1 << (Python3Parser.DIV_ASSIGN - 83)) | (1 << (Python3Parser.MOD_ASSIGN - 83)) | (1 << (Python3Parser.AND_ASSIGN - 83)) | (1 << (Python3Parser.OR_ASSIGN - 83)) | (1 << (Python3Parser.XOR_ASSIGN - 83)) | (1 << (Python3Parser.LEFT_SHIFT_ASSIGN - 83)) | (1 << (Python3Parser.RIGHT_SHIFT_ASSIGN - 83)) | (1 << (Python3Parser.POWER_ASSIGN - 83)) | (1 << (Python3Parser.IDIV_ASSIGN - 83)))) != 0)): 

2697 self._errHandler.recoverInline(self) 

2698 else: 

2699 self._errHandler.reportMatch(self) 

2700 self.consume() 

2701 except RecognitionException as re: 

2702 localctx.exception = re 

2703 self._errHandler.reportError(self, re) 

2704 self._errHandler.recover(self, re) 

2705 finally: 

2706 self.exitRule() 

2707 return localctx 

2708 

2709 

2710 class Del_stmtContext(ParserRuleContext): 

2711 

2712 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

2713 super().__init__(parent, invokingState) 

2714 self.parser = parser 

2715 

2716 def DEL(self): 

2717 return self.getToken(Python3Parser.DEL, 0) 

2718 

2719 def exprlist(self): 

2720 return self.getTypedRuleContext(Python3Parser.ExprlistContext,0) 

2721 

2722 

2723 def getRuleIndex(self): 

2724 return Python3Parser.RULE_del_stmt 

2725 

2726 def enterRule(self, listener:ParseTreeListener): 

2727 if hasattr( listener, "enterDel_stmt" ): 

2728 listener.enterDel_stmt(self) 

2729 

2730 def exitRule(self, listener:ParseTreeListener): 

2731 if hasattr( listener, "exitDel_stmt" ): 

2732 listener.exitDel_stmt(self) 

2733 

2734 

2735 

2736 

2737 def del_stmt(self): 

2738 

2739 localctx = Python3Parser.Del_stmtContext(self, self._ctx, self.state) 

2740 self.enterRule(localctx, 40, self.RULE_del_stmt) 

2741 try: 

2742 self.enterOuterAlt(localctx, 1) 

2743 self.state = 482 

2744 self.match(Python3Parser.DEL) 

2745 self.state = 483 

2746 self.exprlist() 

2747 except RecognitionException as re: 

2748 localctx.exception = re 

2749 self._errHandler.reportError(self, re) 

2750 self._errHandler.recover(self, re) 

2751 finally: 

2752 self.exitRule() 

2753 return localctx 

2754 

2755 

2756 class Pass_stmtContext(ParserRuleContext): 

2757 

2758 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

2759 super().__init__(parent, invokingState) 

2760 self.parser = parser 

2761 

2762 def PASS(self): 

2763 return self.getToken(Python3Parser.PASS, 0) 

2764 

2765 def getRuleIndex(self): 

2766 return Python3Parser.RULE_pass_stmt 

2767 

2768 def enterRule(self, listener:ParseTreeListener): 

2769 if hasattr( listener, "enterPass_stmt" ): 

2770 listener.enterPass_stmt(self) 

2771 

2772 def exitRule(self, listener:ParseTreeListener): 

2773 if hasattr( listener, "exitPass_stmt" ): 

2774 listener.exitPass_stmt(self) 

2775 

2776 

2777 

2778 

2779 def pass_stmt(self): 

2780 

2781 localctx = Python3Parser.Pass_stmtContext(self, self._ctx, self.state) 

2782 self.enterRule(localctx, 42, self.RULE_pass_stmt) 

2783 try: 

2784 self.enterOuterAlt(localctx, 1) 

2785 self.state = 485 

2786 self.match(Python3Parser.PASS) 

2787 except RecognitionException as re: 

2788 localctx.exception = re 

2789 self._errHandler.reportError(self, re) 

2790 self._errHandler.recover(self, re) 

2791 finally: 

2792 self.exitRule() 

2793 return localctx 

2794 

2795 

2796 class Flow_stmtContext(ParserRuleContext): 

2797 

2798 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

2799 super().__init__(parent, invokingState) 

2800 self.parser = parser 

2801 

2802 def break_stmt(self): 

2803 return self.getTypedRuleContext(Python3Parser.Break_stmtContext,0) 

2804 

2805 

2806 def continue_stmt(self): 

2807 return self.getTypedRuleContext(Python3Parser.Continue_stmtContext,0) 

2808 

2809 

2810 def return_stmt(self): 

2811 return self.getTypedRuleContext(Python3Parser.Return_stmtContext,0) 

2812 

2813 

2814 def raise_stmt(self): 

2815 return self.getTypedRuleContext(Python3Parser.Raise_stmtContext,0) 

2816 

2817 

2818 def yield_stmt(self): 

2819 return self.getTypedRuleContext(Python3Parser.Yield_stmtContext,0) 

2820 

2821 

2822 def getRuleIndex(self): 

2823 return Python3Parser.RULE_flow_stmt 

2824 

2825 def enterRule(self, listener:ParseTreeListener): 

2826 if hasattr( listener, "enterFlow_stmt" ): 

2827 listener.enterFlow_stmt(self) 

2828 

2829 def exitRule(self, listener:ParseTreeListener): 

2830 if hasattr( listener, "exitFlow_stmt" ): 

2831 listener.exitFlow_stmt(self) 

2832 

2833 

2834 

2835 

2836 def flow_stmt(self): 

2837 

2838 localctx = Python3Parser.Flow_stmtContext(self, self._ctx, self.state) 

2839 self.enterRule(localctx, 44, self.RULE_flow_stmt) 

2840 try: 

2841 self.state = 492 

2842 self._errHandler.sync(self) 

2843 token = self._input.LA(1) 

2844 if token in [Python3Parser.BREAK]: 

2845 self.enterOuterAlt(localctx, 1) 

2846 self.state = 487 

2847 self.break_stmt() 

2848 pass 

2849 elif token in [Python3Parser.CONTINUE]: 

2850 self.enterOuterAlt(localctx, 2) 

2851 self.state = 488 

2852 self.continue_stmt() 

2853 pass 

2854 elif token in [Python3Parser.RETURN]: 

2855 self.enterOuterAlt(localctx, 3) 

2856 self.state = 489 

2857 self.return_stmt() 

2858 pass 

2859 elif token in [Python3Parser.RAISE]: 

2860 self.enterOuterAlt(localctx, 4) 

2861 self.state = 490 

2862 self.raise_stmt() 

2863 pass 

2864 elif token in [Python3Parser.YIELD]: 

2865 self.enterOuterAlt(localctx, 5) 

2866 self.state = 491 

2867 self.yield_stmt() 

2868 pass 

2869 else: 

2870 raise NoViableAltException(self) 

2871 

2872 except RecognitionException as re: 

2873 localctx.exception = re 

2874 self._errHandler.reportError(self, re) 

2875 self._errHandler.recover(self, re) 

2876 finally: 

2877 self.exitRule() 

2878 return localctx 

2879 

2880 

2881 class Break_stmtContext(ParserRuleContext): 

2882 

2883 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

2884 super().__init__(parent, invokingState) 

2885 self.parser = parser 

2886 

2887 def BREAK(self): 

2888 return self.getToken(Python3Parser.BREAK, 0) 

2889 

2890 def getRuleIndex(self): 

2891 return Python3Parser.RULE_break_stmt 

2892 

2893 def enterRule(self, listener:ParseTreeListener): 

2894 if hasattr( listener, "enterBreak_stmt" ): 

2895 listener.enterBreak_stmt(self) 

2896 

2897 def exitRule(self, listener:ParseTreeListener): 

2898 if hasattr( listener, "exitBreak_stmt" ): 

2899 listener.exitBreak_stmt(self) 

2900 

2901 

2902 

2903 

2904 def break_stmt(self): 

2905 

2906 localctx = Python3Parser.Break_stmtContext(self, self._ctx, self.state) 

2907 self.enterRule(localctx, 46, self.RULE_break_stmt) 

2908 try: 

2909 self.enterOuterAlt(localctx, 1) 

2910 self.state = 494 

2911 self.match(Python3Parser.BREAK) 

2912 except RecognitionException as re: 

2913 localctx.exception = re 

2914 self._errHandler.reportError(self, re) 

2915 self._errHandler.recover(self, re) 

2916 finally: 

2917 self.exitRule() 

2918 return localctx 

2919 

2920 

2921 class Continue_stmtContext(ParserRuleContext): 

2922 

2923 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

2924 super().__init__(parent, invokingState) 

2925 self.parser = parser 

2926 

2927 def CONTINUE(self): 

2928 return self.getToken(Python3Parser.CONTINUE, 0) 

2929 

2930 def getRuleIndex(self): 

2931 return Python3Parser.RULE_continue_stmt 

2932 

2933 def enterRule(self, listener:ParseTreeListener): 

2934 if hasattr( listener, "enterContinue_stmt" ): 

2935 listener.enterContinue_stmt(self) 

2936 

2937 def exitRule(self, listener:ParseTreeListener): 

2938 if hasattr( listener, "exitContinue_stmt" ): 

2939 listener.exitContinue_stmt(self) 

2940 

2941 

2942 

2943 

2944 def continue_stmt(self): 

2945 

2946 localctx = Python3Parser.Continue_stmtContext(self, self._ctx, self.state) 

2947 self.enterRule(localctx, 48, self.RULE_continue_stmt) 

2948 try: 

2949 self.enterOuterAlt(localctx, 1) 

2950 self.state = 496 

2951 self.match(Python3Parser.CONTINUE) 

2952 except RecognitionException as re: 

2953 localctx.exception = re 

2954 self._errHandler.reportError(self, re) 

2955 self._errHandler.recover(self, re) 

2956 finally: 

2957 self.exitRule() 

2958 return localctx 

2959 

2960 

2961 class Return_stmtContext(ParserRuleContext): 

2962 

2963 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

2964 super().__init__(parent, invokingState) 

2965 self.parser = parser 

2966 

2967 def RETURN(self): 

2968 return self.getToken(Python3Parser.RETURN, 0) 

2969 

2970 def testlist(self): 

2971 return self.getTypedRuleContext(Python3Parser.TestlistContext,0) 

2972 

2973 

2974 def getRuleIndex(self): 

2975 return Python3Parser.RULE_return_stmt 

2976 

2977 def enterRule(self, listener:ParseTreeListener): 

2978 if hasattr( listener, "enterReturn_stmt" ): 

2979 listener.enterReturn_stmt(self) 

2980 

2981 def exitRule(self, listener:ParseTreeListener): 

2982 if hasattr( listener, "exitReturn_stmt" ): 

2983 listener.exitReturn_stmt(self) 

2984 

2985 

2986 

2987 

2988 def return_stmt(self): 

2989 

2990 localctx = Python3Parser.Return_stmtContext(self, self._ctx, self.state) 

2991 self.enterRule(localctx, 50, self.RULE_return_stmt) 

2992 self._la = 0 # Token type 

2993 try: 

2994 self.enterOuterAlt(localctx, 1) 

2995 self.state = 498 

2996 self.match(Python3Parser.RETURN) 

2997 self.state = 500 

2998 self._errHandler.sync(self) 

2999 _la = self._input.LA(1) 

3000 if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << Python3Parser.STRING) | (1 << Python3Parser.NUMBER) | (1 << Python3Parser.LAMBDA) | (1 << Python3Parser.NOT) | (1 << Python3Parser.NONE) | (1 << Python3Parser.TRUE) | (1 << Python3Parser.FALSE) | (1 << Python3Parser.AWAIT) | (1 << Python3Parser.NAME) | (1 << Python3Parser.ELLIPSIS) | (1 << Python3Parser.OPEN_PAREN) | (1 << Python3Parser.OPEN_BRACK))) != 0) or ((((_la - 66)) & ~0x3f) == 0 and ((1 << (_la - 66)) & ((1 << (Python3Parser.ADD - 66)) | (1 << (Python3Parser.MINUS - 66)) | (1 << (Python3Parser.NOT_OP - 66)) | (1 << (Python3Parser.OPEN_BRACE - 66)))) != 0): 

3001 self.state = 499 

3002 self.testlist() 

3003 

3004 

3005 except RecognitionException as re: 

3006 localctx.exception = re 

3007 self._errHandler.reportError(self, re) 

3008 self._errHandler.recover(self, re) 

3009 finally: 

3010 self.exitRule() 

3011 return localctx 

3012 

3013 

3014 class Yield_stmtContext(ParserRuleContext): 

3015 

3016 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

3017 super().__init__(parent, invokingState) 

3018 self.parser = parser 

3019 

3020 def yield_expr(self): 

3021 return self.getTypedRuleContext(Python3Parser.Yield_exprContext,0) 

3022 

3023 

3024 def getRuleIndex(self): 

3025 return Python3Parser.RULE_yield_stmt 

3026 

3027 def enterRule(self, listener:ParseTreeListener): 

3028 if hasattr( listener, "enterYield_stmt" ): 

3029 listener.enterYield_stmt(self) 

3030 

3031 def exitRule(self, listener:ParseTreeListener): 

3032 if hasattr( listener, "exitYield_stmt" ): 

3033 listener.exitYield_stmt(self) 

3034 

3035 

3036 

3037 

3038 def yield_stmt(self): 

3039 

3040 localctx = Python3Parser.Yield_stmtContext(self, self._ctx, self.state) 

3041 self.enterRule(localctx, 52, self.RULE_yield_stmt) 

3042 try: 

3043 self.enterOuterAlt(localctx, 1) 

3044 self.state = 502 

3045 self.yield_expr() 

3046 except RecognitionException as re: 

3047 localctx.exception = re 

3048 self._errHandler.reportError(self, re) 

3049 self._errHandler.recover(self, re) 

3050 finally: 

3051 self.exitRule() 

3052 return localctx 

3053 

3054 

3055 class Raise_stmtContext(ParserRuleContext): 

3056 

3057 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

3058 super().__init__(parent, invokingState) 

3059 self.parser = parser 

3060 

3061 def RAISE(self): 

3062 return self.getToken(Python3Parser.RAISE, 0) 

3063 

3064 def test(self, i:int=None): 

3065 if i is None: 

3066 return self.getTypedRuleContexts(Python3Parser.TestContext) 

3067 else: 

3068 return self.getTypedRuleContext(Python3Parser.TestContext,i) 

3069 

3070 

3071 def FROM(self): 

3072 return self.getToken(Python3Parser.FROM, 0) 

3073 

3074 def getRuleIndex(self): 

3075 return Python3Parser.RULE_raise_stmt 

3076 

3077 def enterRule(self, listener:ParseTreeListener): 

3078 if hasattr( listener, "enterRaise_stmt" ): 

3079 listener.enterRaise_stmt(self) 

3080 

3081 def exitRule(self, listener:ParseTreeListener): 

3082 if hasattr( listener, "exitRaise_stmt" ): 

3083 listener.exitRaise_stmt(self) 

3084 

3085 

3086 

3087 

3088 def raise_stmt(self): 

3089 

3090 localctx = Python3Parser.Raise_stmtContext(self, self._ctx, self.state) 

3091 self.enterRule(localctx, 54, self.RULE_raise_stmt) 

3092 self._la = 0 # Token type 

3093 try: 

3094 self.enterOuterAlt(localctx, 1) 

3095 self.state = 504 

3096 self.match(Python3Parser.RAISE) 

3097 self.state = 510 

3098 self._errHandler.sync(self) 

3099 _la = self._input.LA(1) 

3100 if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << Python3Parser.STRING) | (1 << Python3Parser.NUMBER) | (1 << Python3Parser.LAMBDA) | (1 << Python3Parser.NOT) | (1 << Python3Parser.NONE) | (1 << Python3Parser.TRUE) | (1 << Python3Parser.FALSE) | (1 << Python3Parser.AWAIT) | (1 << Python3Parser.NAME) | (1 << Python3Parser.ELLIPSIS) | (1 << Python3Parser.OPEN_PAREN) | (1 << Python3Parser.OPEN_BRACK))) != 0) or ((((_la - 66)) & ~0x3f) == 0 and ((1 << (_la - 66)) & ((1 << (Python3Parser.ADD - 66)) | (1 << (Python3Parser.MINUS - 66)) | (1 << (Python3Parser.NOT_OP - 66)) | (1 << (Python3Parser.OPEN_BRACE - 66)))) != 0): 

3101 self.state = 505 

3102 self.test() 

3103 self.state = 508 

3104 self._errHandler.sync(self) 

3105 _la = self._input.LA(1) 

3106 if _la==Python3Parser.FROM: 

3107 self.state = 506 

3108 self.match(Python3Parser.FROM) 

3109 self.state = 507 

3110 self.test() 

3111 

3112 

3113 

3114 

3115 except RecognitionException as re: 

3116 localctx.exception = re 

3117 self._errHandler.reportError(self, re) 

3118 self._errHandler.recover(self, re) 

3119 finally: 

3120 self.exitRule() 

3121 return localctx 

3122 

3123 

3124 class Import_stmtContext(ParserRuleContext): 

3125 

3126 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

3127 super().__init__(parent, invokingState) 

3128 self.parser = parser 

3129 

3130 def import_name(self): 

3131 return self.getTypedRuleContext(Python3Parser.Import_nameContext,0) 

3132 

3133 

3134 def import_from(self): 

3135 return self.getTypedRuleContext(Python3Parser.Import_fromContext,0) 

3136 

3137 

3138 def getRuleIndex(self): 

3139 return Python3Parser.RULE_import_stmt 

3140 

3141 def enterRule(self, listener:ParseTreeListener): 

3142 if hasattr( listener, "enterImport_stmt" ): 

3143 listener.enterImport_stmt(self) 

3144 

3145 def exitRule(self, listener:ParseTreeListener): 

3146 if hasattr( listener, "exitImport_stmt" ): 

3147 listener.exitImport_stmt(self) 

3148 

3149 

3150 

3151 

3152 def import_stmt(self): 

3153 

3154 localctx = Python3Parser.Import_stmtContext(self, self._ctx, self.state) 

3155 self.enterRule(localctx, 56, self.RULE_import_stmt) 

3156 try: 

3157 self.state = 514 

3158 self._errHandler.sync(self) 

3159 token = self._input.LA(1) 

3160 if token in [Python3Parser.IMPORT]: 

3161 self.enterOuterAlt(localctx, 1) 

3162 self.state = 512 

3163 self.import_name() 

3164 pass 

3165 elif token in [Python3Parser.FROM]: 

3166 self.enterOuterAlt(localctx, 2) 

3167 self.state = 513 

3168 self.import_from() 

3169 pass 

3170 else: 

3171 raise NoViableAltException(self) 

3172 

3173 except RecognitionException as re: 

3174 localctx.exception = re 

3175 self._errHandler.reportError(self, re) 

3176 self._errHandler.recover(self, re) 

3177 finally: 

3178 self.exitRule() 

3179 return localctx 

3180 

3181 

3182 class Import_nameContext(ParserRuleContext): 

3183 

3184 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

3185 super().__init__(parent, invokingState) 

3186 self.parser = parser 

3187 

3188 def IMPORT(self): 

3189 return self.getToken(Python3Parser.IMPORT, 0) 

3190 

3191 def dotted_as_names(self): 

3192 return self.getTypedRuleContext(Python3Parser.Dotted_as_namesContext,0) 

3193 

3194 

3195 def getRuleIndex(self): 

3196 return Python3Parser.RULE_import_name 

3197 

3198 def enterRule(self, listener:ParseTreeListener): 

3199 if hasattr( listener, "enterImport_name" ): 

3200 listener.enterImport_name(self) 

3201 

3202 def exitRule(self, listener:ParseTreeListener): 

3203 if hasattr( listener, "exitImport_name" ): 

3204 listener.exitImport_name(self) 

3205 

3206 

3207 

3208 

3209 def import_name(self): 

3210 

3211 localctx = Python3Parser.Import_nameContext(self, self._ctx, self.state) 

3212 self.enterRule(localctx, 58, self.RULE_import_name) 

3213 try: 

3214 self.enterOuterAlt(localctx, 1) 

3215 self.state = 516 

3216 self.match(Python3Parser.IMPORT) 

3217 self.state = 517 

3218 self.dotted_as_names() 

3219 except RecognitionException as re: 

3220 localctx.exception = re 

3221 self._errHandler.reportError(self, re) 

3222 self._errHandler.recover(self, re) 

3223 finally: 

3224 self.exitRule() 

3225 return localctx 

3226 

3227 

3228 class Import_fromContext(ParserRuleContext): 

3229 

3230 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

3231 super().__init__(parent, invokingState) 

3232 self.parser = parser 

3233 

3234 def FROM(self): 

3235 return self.getToken(Python3Parser.FROM, 0) 

3236 

3237 def IMPORT(self): 

3238 return self.getToken(Python3Parser.IMPORT, 0) 

3239 

3240 def dotted_name(self): 

3241 return self.getTypedRuleContext(Python3Parser.Dotted_nameContext,0) 

3242 

3243 

3244 def STAR(self): 

3245 return self.getToken(Python3Parser.STAR, 0) 

3246 

3247 def OPEN_PAREN(self): 

3248 return self.getToken(Python3Parser.OPEN_PAREN, 0) 

3249 

3250 def import_as_names(self): 

3251 return self.getTypedRuleContext(Python3Parser.Import_as_namesContext,0) 

3252 

3253 

3254 def CLOSE_PAREN(self): 

3255 return self.getToken(Python3Parser.CLOSE_PAREN, 0) 

3256 

3257 def DOT(self, i:int=None): 

3258 if i is None: 

3259 return self.getTokens(Python3Parser.DOT) 

3260 else: 

3261 return self.getToken(Python3Parser.DOT, i) 

3262 

3263 def ELLIPSIS(self, i:int=None): 

3264 if i is None: 

3265 return self.getTokens(Python3Parser.ELLIPSIS) 

3266 else: 

3267 return self.getToken(Python3Parser.ELLIPSIS, i) 

3268 

3269 def getRuleIndex(self): 

3270 return Python3Parser.RULE_import_from 

3271 

3272 def enterRule(self, listener:ParseTreeListener): 

3273 if hasattr( listener, "enterImport_from" ): 

3274 listener.enterImport_from(self) 

3275 

3276 def exitRule(self, listener:ParseTreeListener): 

3277 if hasattr( listener, "exitImport_from" ): 

3278 listener.exitImport_from(self) 

3279 

3280 

3281 

3282 

3283 def import_from(self): 

3284 

3285 localctx = Python3Parser.Import_fromContext(self, self._ctx, self.state) 

3286 self.enterRule(localctx, 60, self.RULE_import_from) 

3287 self._la = 0 # Token type 

3288 try: 

3289 self.enterOuterAlt(localctx, 1) 

3290 self.state = 519 

3291 self.match(Python3Parser.FROM) 

3292 self.state = 532 

3293 self._errHandler.sync(self) 

3294 la_ = self._interp.adaptivePredict(self._input,71,self._ctx) 

3295 if la_ == 1: 

3296 self.state = 523 

3297 self._errHandler.sync(self) 

3298 _la = self._input.LA(1) 

3299 while _la==Python3Parser.DOT or _la==Python3Parser.ELLIPSIS: 

3300 self.state = 520 

3301 _la = self._input.LA(1) 

3302 if not(_la==Python3Parser.DOT or _la==Python3Parser.ELLIPSIS): 

3303 self._errHandler.recoverInline(self) 

3304 else: 

3305 self._errHandler.reportMatch(self) 

3306 self.consume() 

3307 self.state = 525 

3308 self._errHandler.sync(self) 

3309 _la = self._input.LA(1) 

3310 

3311 self.state = 526 

3312 self.dotted_name() 

3313 pass 

3314 

3315 elif la_ == 2: 

3316 self.state = 528 

3317 self._errHandler.sync(self) 

3318 _la = self._input.LA(1) 

3319 while True: 

3320 self.state = 527 

3321 _la = self._input.LA(1) 

3322 if not(_la==Python3Parser.DOT or _la==Python3Parser.ELLIPSIS): 

3323 self._errHandler.recoverInline(self) 

3324 else: 

3325 self._errHandler.reportMatch(self) 

3326 self.consume() 

3327 self.state = 530 

3328 self._errHandler.sync(self) 

3329 _la = self._input.LA(1) 

3330 if not (_la==Python3Parser.DOT or _la==Python3Parser.ELLIPSIS): 

3331 break 

3332 

3333 pass 

3334 

3335 

3336 self.state = 534 

3337 self.match(Python3Parser.IMPORT) 

3338 self.state = 541 

3339 self._errHandler.sync(self) 

3340 token = self._input.LA(1) 

3341 if token in [Python3Parser.STAR]: 

3342 self.state = 535 

3343 self.match(Python3Parser.STAR) 

3344 pass 

3345 elif token in [Python3Parser.OPEN_PAREN]: 

3346 self.state = 536 

3347 self.match(Python3Parser.OPEN_PAREN) 

3348 self.state = 537 

3349 self.import_as_names() 

3350 self.state = 538 

3351 self.match(Python3Parser.CLOSE_PAREN) 

3352 pass 

3353 elif token in [Python3Parser.NAME]: 

3354 self.state = 540 

3355 self.import_as_names() 

3356 pass 

3357 else: 

3358 raise NoViableAltException(self) 

3359 

3360 except RecognitionException as re: 

3361 localctx.exception = re 

3362 self._errHandler.reportError(self, re) 

3363 self._errHandler.recover(self, re) 

3364 finally: 

3365 self.exitRule() 

3366 return localctx 

3367 

3368 

3369 class Import_as_nameContext(ParserRuleContext): 

3370 

3371 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

3372 super().__init__(parent, invokingState) 

3373 self.parser = parser 

3374 

3375 def NAME(self, i:int=None): 

3376 if i is None: 

3377 return self.getTokens(Python3Parser.NAME) 

3378 else: 

3379 return self.getToken(Python3Parser.NAME, i) 

3380 

3381 def AS(self): 

3382 return self.getToken(Python3Parser.AS, 0) 

3383 

3384 def getRuleIndex(self): 

3385 return Python3Parser.RULE_import_as_name 

3386 

3387 def enterRule(self, listener:ParseTreeListener): 

3388 if hasattr( listener, "enterImport_as_name" ): 

3389 listener.enterImport_as_name(self) 

3390 

3391 def exitRule(self, listener:ParseTreeListener): 

3392 if hasattr( listener, "exitImport_as_name" ): 

3393 listener.exitImport_as_name(self) 

3394 

3395 

3396 

3397 

3398 def import_as_name(self): 

3399 

3400 localctx = Python3Parser.Import_as_nameContext(self, self._ctx, self.state) 

3401 self.enterRule(localctx, 62, self.RULE_import_as_name) 

3402 self._la = 0 # Token type 

3403 try: 

3404 self.enterOuterAlt(localctx, 1) 

3405 self.state = 543 

3406 self.match(Python3Parser.NAME) 

3407 self.state = 546 

3408 self._errHandler.sync(self) 

3409 _la = self._input.LA(1) 

3410 if _la==Python3Parser.AS: 

3411 self.state = 544 

3412 self.match(Python3Parser.AS) 

3413 self.state = 545 

3414 self.match(Python3Parser.NAME) 

3415 

3416 

3417 except RecognitionException as re: 

3418 localctx.exception = re 

3419 self._errHandler.reportError(self, re) 

3420 self._errHandler.recover(self, re) 

3421 finally: 

3422 self.exitRule() 

3423 return localctx 

3424 

3425 

3426 class Dotted_as_nameContext(ParserRuleContext): 

3427 

3428 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

3429 super().__init__(parent, invokingState) 

3430 self.parser = parser 

3431 

3432 def dotted_name(self): 

3433 return self.getTypedRuleContext(Python3Parser.Dotted_nameContext,0) 

3434 

3435 

3436 def AS(self): 

3437 return self.getToken(Python3Parser.AS, 0) 

3438 

3439 def NAME(self): 

3440 return self.getToken(Python3Parser.NAME, 0) 

3441 

3442 def getRuleIndex(self): 

3443 return Python3Parser.RULE_dotted_as_name 

3444 

3445 def enterRule(self, listener:ParseTreeListener): 

3446 if hasattr( listener, "enterDotted_as_name" ): 

3447 listener.enterDotted_as_name(self) 

3448 

3449 def exitRule(self, listener:ParseTreeListener): 

3450 if hasattr( listener, "exitDotted_as_name" ): 

3451 listener.exitDotted_as_name(self) 

3452 

3453 

3454 

3455 

3456 def dotted_as_name(self): 

3457 

3458 localctx = Python3Parser.Dotted_as_nameContext(self, self._ctx, self.state) 

3459 self.enterRule(localctx, 64, self.RULE_dotted_as_name) 

3460 self._la = 0 # Token type 

3461 try: 

3462 self.enterOuterAlt(localctx, 1) 

3463 self.state = 548 

3464 self.dotted_name() 

3465 self.state = 551 

3466 self._errHandler.sync(self) 

3467 _la = self._input.LA(1) 

3468 if _la==Python3Parser.AS: 

3469 self.state = 549 

3470 self.match(Python3Parser.AS) 

3471 self.state = 550 

3472 self.match(Python3Parser.NAME) 

3473 

3474 

3475 except RecognitionException as re: 

3476 localctx.exception = re 

3477 self._errHandler.reportError(self, re) 

3478 self._errHandler.recover(self, re) 

3479 finally: 

3480 self.exitRule() 

3481 return localctx 

3482 

3483 

3484 class Import_as_namesContext(ParserRuleContext): 

3485 

3486 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

3487 super().__init__(parent, invokingState) 

3488 self.parser = parser 

3489 

3490 def import_as_name(self, i:int=None): 

3491 if i is None: 

3492 return self.getTypedRuleContexts(Python3Parser.Import_as_nameContext) 

3493 else: 

3494 return self.getTypedRuleContext(Python3Parser.Import_as_nameContext,i) 

3495 

3496 

3497 def COMMA(self, i:int=None): 

3498 if i is None: 

3499 return self.getTokens(Python3Parser.COMMA) 

3500 else: 

3501 return self.getToken(Python3Parser.COMMA, i) 

3502 

3503 def getRuleIndex(self): 

3504 return Python3Parser.RULE_import_as_names 

3505 

3506 def enterRule(self, listener:ParseTreeListener): 

3507 if hasattr( listener, "enterImport_as_names" ): 

3508 listener.enterImport_as_names(self) 

3509 

3510 def exitRule(self, listener:ParseTreeListener): 

3511 if hasattr( listener, "exitImport_as_names" ): 

3512 listener.exitImport_as_names(self) 

3513 

3514 

3515 

3516 

3517 def import_as_names(self): 

3518 

3519 localctx = Python3Parser.Import_as_namesContext(self, self._ctx, self.state) 

3520 self.enterRule(localctx, 66, self.RULE_import_as_names) 

3521 self._la = 0 # Token type 

3522 try: 

3523 self.enterOuterAlt(localctx, 1) 

3524 self.state = 553 

3525 self.import_as_name() 

3526 self.state = 558 

3527 self._errHandler.sync(self) 

3528 _alt = self._interp.adaptivePredict(self._input,75,self._ctx) 

3529 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: 

3530 if _alt==1: 

3531 self.state = 554 

3532 self.match(Python3Parser.COMMA) 

3533 self.state = 555 

3534 self.import_as_name() 

3535 self.state = 560 

3536 self._errHandler.sync(self) 

3537 _alt = self._interp.adaptivePredict(self._input,75,self._ctx) 

3538 

3539 self.state = 562 

3540 self._errHandler.sync(self) 

3541 _la = self._input.LA(1) 

3542 if _la==Python3Parser.COMMA: 

3543 self.state = 561 

3544 self.match(Python3Parser.COMMA) 

3545 

3546 

3547 except RecognitionException as re: 

3548 localctx.exception = re 

3549 self._errHandler.reportError(self, re) 

3550 self._errHandler.recover(self, re) 

3551 finally: 

3552 self.exitRule() 

3553 return localctx 

3554 

3555 

3556 class Dotted_as_namesContext(ParserRuleContext): 

3557 

3558 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

3559 super().__init__(parent, invokingState) 

3560 self.parser = parser 

3561 

3562 def dotted_as_name(self, i:int=None): 

3563 if i is None: 

3564 return self.getTypedRuleContexts(Python3Parser.Dotted_as_nameContext) 

3565 else: 

3566 return self.getTypedRuleContext(Python3Parser.Dotted_as_nameContext,i) 

3567 

3568 

3569 def COMMA(self, i:int=None): 

3570 if i is None: 

3571 return self.getTokens(Python3Parser.COMMA) 

3572 else: 

3573 return self.getToken(Python3Parser.COMMA, i) 

3574 

3575 def getRuleIndex(self): 

3576 return Python3Parser.RULE_dotted_as_names 

3577 

3578 def enterRule(self, listener:ParseTreeListener): 

3579 if hasattr( listener, "enterDotted_as_names" ): 

3580 listener.enterDotted_as_names(self) 

3581 

3582 def exitRule(self, listener:ParseTreeListener): 

3583 if hasattr( listener, "exitDotted_as_names" ): 

3584 listener.exitDotted_as_names(self) 

3585 

3586 

3587 

3588 

3589 def dotted_as_names(self): 

3590 

3591 localctx = Python3Parser.Dotted_as_namesContext(self, self._ctx, self.state) 

3592 self.enterRule(localctx, 68, self.RULE_dotted_as_names) 

3593 self._la = 0 # Token type 

3594 try: 

3595 self.enterOuterAlt(localctx, 1) 

3596 self.state = 564 

3597 self.dotted_as_name() 

3598 self.state = 569 

3599 self._errHandler.sync(self) 

3600 _la = self._input.LA(1) 

3601 while _la==Python3Parser.COMMA: 

3602 self.state = 565 

3603 self.match(Python3Parser.COMMA) 

3604 self.state = 566 

3605 self.dotted_as_name() 

3606 self.state = 571 

3607 self._errHandler.sync(self) 

3608 _la = self._input.LA(1) 

3609 

3610 except RecognitionException as re: 

3611 localctx.exception = re 

3612 self._errHandler.reportError(self, re) 

3613 self._errHandler.recover(self, re) 

3614 finally: 

3615 self.exitRule() 

3616 return localctx 

3617 

3618 

3619 class Dotted_nameContext(ParserRuleContext): 

3620 

3621 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

3622 super().__init__(parent, invokingState) 

3623 self.parser = parser 

3624 

3625 def NAME(self, i:int=None): 

3626 if i is None: 

3627 return self.getTokens(Python3Parser.NAME) 

3628 else: 

3629 return self.getToken(Python3Parser.NAME, i) 

3630 

3631 def DOT(self, i:int=None): 

3632 if i is None: 

3633 return self.getTokens(Python3Parser.DOT) 

3634 else: 

3635 return self.getToken(Python3Parser.DOT, i) 

3636 

3637 def getRuleIndex(self): 

3638 return Python3Parser.RULE_dotted_name 

3639 

3640 def enterRule(self, listener:ParseTreeListener): 

3641 if hasattr( listener, "enterDotted_name" ): 

3642 listener.enterDotted_name(self) 

3643 

3644 def exitRule(self, listener:ParseTreeListener): 

3645 if hasattr( listener, "exitDotted_name" ): 

3646 listener.exitDotted_name(self) 

3647 

3648 

3649 

3650 

3651 def dotted_name(self): 

3652 

3653 localctx = Python3Parser.Dotted_nameContext(self, self._ctx, self.state) 

3654 self.enterRule(localctx, 70, self.RULE_dotted_name) 

3655 self._la = 0 # Token type 

3656 try: 

3657 self.enterOuterAlt(localctx, 1) 

3658 self.state = 572 

3659 self.match(Python3Parser.NAME) 

3660 self.state = 577 

3661 self._errHandler.sync(self) 

3662 _la = self._input.LA(1) 

3663 while _la==Python3Parser.DOT: 

3664 self.state = 573 

3665 self.match(Python3Parser.DOT) 

3666 self.state = 574 

3667 self.match(Python3Parser.NAME) 

3668 self.state = 579 

3669 self._errHandler.sync(self) 

3670 _la = self._input.LA(1) 

3671 

3672 except RecognitionException as re: 

3673 localctx.exception = re 

3674 self._errHandler.reportError(self, re) 

3675 self._errHandler.recover(self, re) 

3676 finally: 

3677 self.exitRule() 

3678 return localctx 

3679 

3680 

3681 class Global_stmtContext(ParserRuleContext): 

3682 

3683 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

3684 super().__init__(parent, invokingState) 

3685 self.parser = parser 

3686 

3687 def GLOBAL(self): 

3688 return self.getToken(Python3Parser.GLOBAL, 0) 

3689 

3690 def NAME(self, i:int=None): 

3691 if i is None: 

3692 return self.getTokens(Python3Parser.NAME) 

3693 else: 

3694 return self.getToken(Python3Parser.NAME, i) 

3695 

3696 def COMMA(self, i:int=None): 

3697 if i is None: 

3698 return self.getTokens(Python3Parser.COMMA) 

3699 else: 

3700 return self.getToken(Python3Parser.COMMA, i) 

3701 

3702 def getRuleIndex(self): 

3703 return Python3Parser.RULE_global_stmt 

3704 

3705 def enterRule(self, listener:ParseTreeListener): 

3706 if hasattr( listener, "enterGlobal_stmt" ): 

3707 listener.enterGlobal_stmt(self) 

3708 

3709 def exitRule(self, listener:ParseTreeListener): 

3710 if hasattr( listener, "exitGlobal_stmt" ): 

3711 listener.exitGlobal_stmt(self) 

3712 

3713 

3714 

3715 

3716 def global_stmt(self): 

3717 

3718 localctx = Python3Parser.Global_stmtContext(self, self._ctx, self.state) 

3719 self.enterRule(localctx, 72, self.RULE_global_stmt) 

3720 self._la = 0 # Token type 

3721 try: 

3722 self.enterOuterAlt(localctx, 1) 

3723 self.state = 580 

3724 self.match(Python3Parser.GLOBAL) 

3725 self.state = 581 

3726 self.match(Python3Parser.NAME) 

3727 self.state = 586 

3728 self._errHandler.sync(self) 

3729 _la = self._input.LA(1) 

3730 while _la==Python3Parser.COMMA: 

3731 self.state = 582 

3732 self.match(Python3Parser.COMMA) 

3733 self.state = 583 

3734 self.match(Python3Parser.NAME) 

3735 self.state = 588 

3736 self._errHandler.sync(self) 

3737 _la = self._input.LA(1) 

3738 

3739 except RecognitionException as re: 

3740 localctx.exception = re 

3741 self._errHandler.reportError(self, re) 

3742 self._errHandler.recover(self, re) 

3743 finally: 

3744 self.exitRule() 

3745 return localctx 

3746 

3747 

3748 class Nonlocal_stmtContext(ParserRuleContext): 

3749 

3750 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

3751 super().__init__(parent, invokingState) 

3752 self.parser = parser 

3753 

3754 def NONLOCAL(self): 

3755 return self.getToken(Python3Parser.NONLOCAL, 0) 

3756 

3757 def NAME(self, i:int=None): 

3758 if i is None: 

3759 return self.getTokens(Python3Parser.NAME) 

3760 else: 

3761 return self.getToken(Python3Parser.NAME, i) 

3762 

3763 def COMMA(self, i:int=None): 

3764 if i is None: 

3765 return self.getTokens(Python3Parser.COMMA) 

3766 else: 

3767 return self.getToken(Python3Parser.COMMA, i) 

3768 

3769 def getRuleIndex(self): 

3770 return Python3Parser.RULE_nonlocal_stmt 

3771 

3772 def enterRule(self, listener:ParseTreeListener): 

3773 if hasattr( listener, "enterNonlocal_stmt" ): 

3774 listener.enterNonlocal_stmt(self) 

3775 

3776 def exitRule(self, listener:ParseTreeListener): 

3777 if hasattr( listener, "exitNonlocal_stmt" ): 

3778 listener.exitNonlocal_stmt(self) 

3779 

3780 

3781 

3782 

3783 def nonlocal_stmt(self): 

3784 

3785 localctx = Python3Parser.Nonlocal_stmtContext(self, self._ctx, self.state) 

3786 self.enterRule(localctx, 74, self.RULE_nonlocal_stmt) 

3787 self._la = 0 # Token type 

3788 try: 

3789 self.enterOuterAlt(localctx, 1) 

3790 self.state = 589 

3791 self.match(Python3Parser.NONLOCAL) 

3792 self.state = 590 

3793 self.match(Python3Parser.NAME) 

3794 self.state = 595 

3795 self._errHandler.sync(self) 

3796 _la = self._input.LA(1) 

3797 while _la==Python3Parser.COMMA: 

3798 self.state = 591 

3799 self.match(Python3Parser.COMMA) 

3800 self.state = 592 

3801 self.match(Python3Parser.NAME) 

3802 self.state = 597 

3803 self._errHandler.sync(self) 

3804 _la = self._input.LA(1) 

3805 

3806 except RecognitionException as re: 

3807 localctx.exception = re 

3808 self._errHandler.reportError(self, re) 

3809 self._errHandler.recover(self, re) 

3810 finally: 

3811 self.exitRule() 

3812 return localctx 

3813 

3814 

3815 class Assert_stmtContext(ParserRuleContext): 

3816 

3817 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

3818 super().__init__(parent, invokingState) 

3819 self.parser = parser 

3820 

3821 def ASSERT(self): 

3822 return self.getToken(Python3Parser.ASSERT, 0) 

3823 

3824 def test(self, i:int=None): 

3825 if i is None: 

3826 return self.getTypedRuleContexts(Python3Parser.TestContext) 

3827 else: 

3828 return self.getTypedRuleContext(Python3Parser.TestContext,i) 

3829 

3830 

3831 def COMMA(self): 

3832 return self.getToken(Python3Parser.COMMA, 0) 

3833 

3834 def getRuleIndex(self): 

3835 return Python3Parser.RULE_assert_stmt 

3836 

3837 def enterRule(self, listener:ParseTreeListener): 

3838 if hasattr( listener, "enterAssert_stmt" ): 

3839 listener.enterAssert_stmt(self) 

3840 

3841 def exitRule(self, listener:ParseTreeListener): 

3842 if hasattr( listener, "exitAssert_stmt" ): 

3843 listener.exitAssert_stmt(self) 

3844 

3845 

3846 

3847 

3848 def assert_stmt(self): 

3849 

3850 localctx = Python3Parser.Assert_stmtContext(self, self._ctx, self.state) 

3851 self.enterRule(localctx, 76, self.RULE_assert_stmt) 

3852 self._la = 0 # Token type 

3853 try: 

3854 self.enterOuterAlt(localctx, 1) 

3855 self.state = 598 

3856 self.match(Python3Parser.ASSERT) 

3857 self.state = 599 

3858 self.test() 

3859 self.state = 602 

3860 self._errHandler.sync(self) 

3861 _la = self._input.LA(1) 

3862 if _la==Python3Parser.COMMA: 

3863 self.state = 600 

3864 self.match(Python3Parser.COMMA) 

3865 self.state = 601 

3866 self.test() 

3867 

3868 

3869 except RecognitionException as re: 

3870 localctx.exception = re 

3871 self._errHandler.reportError(self, re) 

3872 self._errHandler.recover(self, re) 

3873 finally: 

3874 self.exitRule() 

3875 return localctx 

3876 

3877 

3878 class Compound_stmtContext(ParserRuleContext): 

3879 

3880 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

3881 super().__init__(parent, invokingState) 

3882 self.parser = parser 

3883 

3884 def if_stmt(self): 

3885 return self.getTypedRuleContext(Python3Parser.If_stmtContext,0) 

3886 

3887 

3888 def while_stmt(self): 

3889 return self.getTypedRuleContext(Python3Parser.While_stmtContext,0) 

3890 

3891 

3892 def for_stmt(self): 

3893 return self.getTypedRuleContext(Python3Parser.For_stmtContext,0) 

3894 

3895 

3896 def try_stmt(self): 

3897 return self.getTypedRuleContext(Python3Parser.Try_stmtContext,0) 

3898 

3899 

3900 def with_stmt(self): 

3901 return self.getTypedRuleContext(Python3Parser.With_stmtContext,0) 

3902 

3903 

3904 def funcdef(self): 

3905 return self.getTypedRuleContext(Python3Parser.FuncdefContext,0) 

3906 

3907 

3908 def classdef(self): 

3909 return self.getTypedRuleContext(Python3Parser.ClassdefContext,0) 

3910 

3911 

3912 def decorated(self): 

3913 return self.getTypedRuleContext(Python3Parser.DecoratedContext,0) 

3914 

3915 

3916 def async_stmt(self): 

3917 return self.getTypedRuleContext(Python3Parser.Async_stmtContext,0) 

3918 

3919 

3920 def getRuleIndex(self): 

3921 return Python3Parser.RULE_compound_stmt 

3922 

3923 def enterRule(self, listener:ParseTreeListener): 

3924 if hasattr( listener, "enterCompound_stmt" ): 

3925 listener.enterCompound_stmt(self) 

3926 

3927 def exitRule(self, listener:ParseTreeListener): 

3928 if hasattr( listener, "exitCompound_stmt" ): 

3929 listener.exitCompound_stmt(self) 

3930 

3931 

3932 

3933 

3934 def compound_stmt(self): 

3935 

3936 localctx = Python3Parser.Compound_stmtContext(self, self._ctx, self.state) 

3937 self.enterRule(localctx, 78, self.RULE_compound_stmt) 

3938 try: 

3939 self.state = 613 

3940 self._errHandler.sync(self) 

3941 token = self._input.LA(1) 

3942 if token in [Python3Parser.IF]: 

3943 self.enterOuterAlt(localctx, 1) 

3944 self.state = 604 

3945 self.if_stmt() 

3946 pass 

3947 elif token in [Python3Parser.WHILE]: 

3948 self.enterOuterAlt(localctx, 2) 

3949 self.state = 605 

3950 self.while_stmt() 

3951 pass 

3952 elif token in [Python3Parser.FOR]: 

3953 self.enterOuterAlt(localctx, 3) 

3954 self.state = 606 

3955 self.for_stmt() 

3956 pass 

3957 elif token in [Python3Parser.TRY]: 

3958 self.enterOuterAlt(localctx, 4) 

3959 self.state = 607 

3960 self.try_stmt() 

3961 pass 

3962 elif token in [Python3Parser.WITH]: 

3963 self.enterOuterAlt(localctx, 5) 

3964 self.state = 608 

3965 self.with_stmt() 

3966 pass 

3967 elif token in [Python3Parser.DEF]: 

3968 self.enterOuterAlt(localctx, 6) 

3969 self.state = 609 

3970 self.funcdef() 

3971 pass 

3972 elif token in [Python3Parser.CLASS]: 

3973 self.enterOuterAlt(localctx, 7) 

3974 self.state = 610 

3975 self.classdef() 

3976 pass 

3977 elif token in [Python3Parser.AT]: 

3978 self.enterOuterAlt(localctx, 8) 

3979 self.state = 611 

3980 self.decorated() 

3981 pass 

3982 elif token in [Python3Parser.ASYNC]: 

3983 self.enterOuterAlt(localctx, 9) 

3984 self.state = 612 

3985 self.async_stmt() 

3986 pass 

3987 else: 

3988 raise NoViableAltException(self) 

3989 

3990 except RecognitionException as re: 

3991 localctx.exception = re 

3992 self._errHandler.reportError(self, re) 

3993 self._errHandler.recover(self, re) 

3994 finally: 

3995 self.exitRule() 

3996 return localctx 

3997 

3998 

3999 class Async_stmtContext(ParserRuleContext): 

4000 

4001 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

4002 super().__init__(parent, invokingState) 

4003 self.parser = parser 

4004 

4005 def ASYNC(self): 

4006 return self.getToken(Python3Parser.ASYNC, 0) 

4007 

4008 def funcdef(self): 

4009 return self.getTypedRuleContext(Python3Parser.FuncdefContext,0) 

4010 

4011 

4012 def with_stmt(self): 

4013 return self.getTypedRuleContext(Python3Parser.With_stmtContext,0) 

4014 

4015 

4016 def for_stmt(self): 

4017 return self.getTypedRuleContext(Python3Parser.For_stmtContext,0) 

4018 

4019 

4020 def getRuleIndex(self): 

4021 return Python3Parser.RULE_async_stmt 

4022 

4023 def enterRule(self, listener:ParseTreeListener): 

4024 if hasattr( listener, "enterAsync_stmt" ): 

4025 listener.enterAsync_stmt(self) 

4026 

4027 def exitRule(self, listener:ParseTreeListener): 

4028 if hasattr( listener, "exitAsync_stmt" ): 

4029 listener.exitAsync_stmt(self) 

4030 

4031 

4032 

4033 

4034 def async_stmt(self): 

4035 

4036 localctx = Python3Parser.Async_stmtContext(self, self._ctx, self.state) 

4037 self.enterRule(localctx, 80, self.RULE_async_stmt) 

4038 try: 

4039 self.enterOuterAlt(localctx, 1) 

4040 self.state = 615 

4041 self.match(Python3Parser.ASYNC) 

4042 self.state = 619 

4043 self._errHandler.sync(self) 

4044 token = self._input.LA(1) 

4045 if token in [Python3Parser.DEF]: 

4046 self.state = 616 

4047 self.funcdef() 

4048 pass 

4049 elif token in [Python3Parser.WITH]: 

4050 self.state = 617 

4051 self.with_stmt() 

4052 pass 

4053 elif token in [Python3Parser.FOR]: 

4054 self.state = 618 

4055 self.for_stmt() 

4056 pass 

4057 else: 

4058 raise NoViableAltException(self) 

4059 

4060 except RecognitionException as re: 

4061 localctx.exception = re 

4062 self._errHandler.reportError(self, re) 

4063 self._errHandler.recover(self, re) 

4064 finally: 

4065 self.exitRule() 

4066 return localctx 

4067 

4068 

4069 class If_stmtContext(ParserRuleContext): 

4070 

4071 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

4072 super().__init__(parent, invokingState) 

4073 self.parser = parser 

4074 

4075 def IF(self): 

4076 return self.getToken(Python3Parser.IF, 0) 

4077 

4078 def test(self, i:int=None): 

4079 if i is None: 

4080 return self.getTypedRuleContexts(Python3Parser.TestContext) 

4081 else: 

4082 return self.getTypedRuleContext(Python3Parser.TestContext,i) 

4083 

4084 

4085 def COLON(self, i:int=None): 

4086 if i is None: 

4087 return self.getTokens(Python3Parser.COLON) 

4088 else: 

4089 return self.getToken(Python3Parser.COLON, i) 

4090 

4091 def suite(self, i:int=None): 

4092 if i is None: 

4093 return self.getTypedRuleContexts(Python3Parser.SuiteContext) 

4094 else: 

4095 return self.getTypedRuleContext(Python3Parser.SuiteContext,i) 

4096 

4097 

4098 def ELIF(self, i:int=None): 

4099 if i is None: 

4100 return self.getTokens(Python3Parser.ELIF) 

4101 else: 

4102 return self.getToken(Python3Parser.ELIF, i) 

4103 

4104 def ELSE(self): 

4105 return self.getToken(Python3Parser.ELSE, 0) 

4106 

4107 def getRuleIndex(self): 

4108 return Python3Parser.RULE_if_stmt 

4109 

4110 def enterRule(self, listener:ParseTreeListener): 

4111 if hasattr( listener, "enterIf_stmt" ): 

4112 listener.enterIf_stmt(self) 

4113 

4114 def exitRule(self, listener:ParseTreeListener): 

4115 if hasattr( listener, "exitIf_stmt" ): 

4116 listener.exitIf_stmt(self) 

4117 

4118 

4119 

4120 

4121 def if_stmt(self): 

4122 

4123 localctx = Python3Parser.If_stmtContext(self, self._ctx, self.state) 

4124 self.enterRule(localctx, 82, self.RULE_if_stmt) 

4125 self._la = 0 # Token type 

4126 try: 

4127 self.enterOuterAlt(localctx, 1) 

4128 self.state = 621 

4129 self.match(Python3Parser.IF) 

4130 self.state = 622 

4131 self.test() 

4132 self.state = 623 

4133 self.match(Python3Parser.COLON) 

4134 self.state = 624 

4135 self.suite() 

4136 self.state = 632 

4137 self._errHandler.sync(self) 

4138 _la = self._input.LA(1) 

4139 while _la==Python3Parser.ELIF: 

4140 self.state = 625 

4141 self.match(Python3Parser.ELIF) 

4142 self.state = 626 

4143 self.test() 

4144 self.state = 627 

4145 self.match(Python3Parser.COLON) 

4146 self.state = 628 

4147 self.suite() 

4148 self.state = 634 

4149 self._errHandler.sync(self) 

4150 _la = self._input.LA(1) 

4151 

4152 self.state = 638 

4153 self._errHandler.sync(self) 

4154 _la = self._input.LA(1) 

4155 if _la==Python3Parser.ELSE: 

4156 self.state = 635 

4157 self.match(Python3Parser.ELSE) 

4158 self.state = 636 

4159 self.match(Python3Parser.COLON) 

4160 self.state = 637 

4161 self.suite() 

4162 

4163 

4164 except RecognitionException as re: 

4165 localctx.exception = re 

4166 self._errHandler.reportError(self, re) 

4167 self._errHandler.recover(self, re) 

4168 finally: 

4169 self.exitRule() 

4170 return localctx 

4171 

4172 

4173 class While_stmtContext(ParserRuleContext): 

4174 

4175 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

4176 super().__init__(parent, invokingState) 

4177 self.parser = parser 

4178 

4179 def WHILE(self): 

4180 return self.getToken(Python3Parser.WHILE, 0) 

4181 

4182 def test(self): 

4183 return self.getTypedRuleContext(Python3Parser.TestContext,0) 

4184 

4185 

4186 def COLON(self, i:int=None): 

4187 if i is None: 

4188 return self.getTokens(Python3Parser.COLON) 

4189 else: 

4190 return self.getToken(Python3Parser.COLON, i) 

4191 

4192 def suite(self, i:int=None): 

4193 if i is None: 

4194 return self.getTypedRuleContexts(Python3Parser.SuiteContext) 

4195 else: 

4196 return self.getTypedRuleContext(Python3Parser.SuiteContext,i) 

4197 

4198 

4199 def ELSE(self): 

4200 return self.getToken(Python3Parser.ELSE, 0) 

4201 

4202 def getRuleIndex(self): 

4203 return Python3Parser.RULE_while_stmt 

4204 

4205 def enterRule(self, listener:ParseTreeListener): 

4206 if hasattr( listener, "enterWhile_stmt" ): 

4207 listener.enterWhile_stmt(self) 

4208 

4209 def exitRule(self, listener:ParseTreeListener): 

4210 if hasattr( listener, "exitWhile_stmt" ): 

4211 listener.exitWhile_stmt(self) 

4212 

4213 

4214 

4215 

4216 def while_stmt(self): 

4217 

4218 localctx = Python3Parser.While_stmtContext(self, self._ctx, self.state) 

4219 self.enterRule(localctx, 84, self.RULE_while_stmt) 

4220 self._la = 0 # Token type 

4221 try: 

4222 self.enterOuterAlt(localctx, 1) 

4223 self.state = 640 

4224 self.match(Python3Parser.WHILE) 

4225 self.state = 641 

4226 self.test() 

4227 self.state = 642 

4228 self.match(Python3Parser.COLON) 

4229 self.state = 643 

4230 self.suite() 

4231 self.state = 647 

4232 self._errHandler.sync(self) 

4233 _la = self._input.LA(1) 

4234 if _la==Python3Parser.ELSE: 

4235 self.state = 644 

4236 self.match(Python3Parser.ELSE) 

4237 self.state = 645 

4238 self.match(Python3Parser.COLON) 

4239 self.state = 646 

4240 self.suite() 

4241 

4242 

4243 except RecognitionException as re: 

4244 localctx.exception = re 

4245 self._errHandler.reportError(self, re) 

4246 self._errHandler.recover(self, re) 

4247 finally: 

4248 self.exitRule() 

4249 return localctx 

4250 

4251 

4252 class For_stmtContext(ParserRuleContext): 

4253 

4254 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

4255 super().__init__(parent, invokingState) 

4256 self.parser = parser 

4257 

4258 def FOR(self): 

4259 return self.getToken(Python3Parser.FOR, 0) 

4260 

4261 def exprlist(self): 

4262 return self.getTypedRuleContext(Python3Parser.ExprlistContext,0) 

4263 

4264 

4265 def IN(self): 

4266 return self.getToken(Python3Parser.IN, 0) 

4267 

4268 def testlist(self): 

4269 return self.getTypedRuleContext(Python3Parser.TestlistContext,0) 

4270 

4271 

4272 def COLON(self, i:int=None): 

4273 if i is None: 

4274 return self.getTokens(Python3Parser.COLON) 

4275 else: 

4276 return self.getToken(Python3Parser.COLON, i) 

4277 

4278 def suite(self, i:int=None): 

4279 if i is None: 

4280 return self.getTypedRuleContexts(Python3Parser.SuiteContext) 

4281 else: 

4282 return self.getTypedRuleContext(Python3Parser.SuiteContext,i) 

4283 

4284 

4285 def ELSE(self): 

4286 return self.getToken(Python3Parser.ELSE, 0) 

4287 

4288 def getRuleIndex(self): 

4289 return Python3Parser.RULE_for_stmt 

4290 

4291 def enterRule(self, listener:ParseTreeListener): 

4292 if hasattr( listener, "enterFor_stmt" ): 

4293 listener.enterFor_stmt(self) 

4294 

4295 def exitRule(self, listener:ParseTreeListener): 

4296 if hasattr( listener, "exitFor_stmt" ): 

4297 listener.exitFor_stmt(self) 

4298 

4299 

4300 

4301 

4302 def for_stmt(self): 

4303 

4304 localctx = Python3Parser.For_stmtContext(self, self._ctx, self.state) 

4305 self.enterRule(localctx, 86, self.RULE_for_stmt) 

4306 self._la = 0 # Token type 

4307 try: 

4308 self.enterOuterAlt(localctx, 1) 

4309 self.state = 649 

4310 self.match(Python3Parser.FOR) 

4311 self.state = 650 

4312 self.exprlist() 

4313 self.state = 651 

4314 self.match(Python3Parser.IN) 

4315 self.state = 652 

4316 self.testlist() 

4317 self.state = 653 

4318 self.match(Python3Parser.COLON) 

4319 self.state = 654 

4320 self.suite() 

4321 self.state = 658 

4322 self._errHandler.sync(self) 

4323 _la = self._input.LA(1) 

4324 if _la==Python3Parser.ELSE: 

4325 self.state = 655 

4326 self.match(Python3Parser.ELSE) 

4327 self.state = 656 

4328 self.match(Python3Parser.COLON) 

4329 self.state = 657 

4330 self.suite() 

4331 

4332 

4333 except RecognitionException as re: 

4334 localctx.exception = re 

4335 self._errHandler.reportError(self, re) 

4336 self._errHandler.recover(self, re) 

4337 finally: 

4338 self.exitRule() 

4339 return localctx 

4340 

4341 

4342 class Try_stmtContext(ParserRuleContext): 

4343 

4344 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

4345 super().__init__(parent, invokingState) 

4346 self.parser = parser 

4347 

4348 def TRY(self): 

4349 return self.getToken(Python3Parser.TRY, 0) 

4350 

4351 def COLON(self, i:int=None): 

4352 if i is None: 

4353 return self.getTokens(Python3Parser.COLON) 

4354 else: 

4355 return self.getToken(Python3Parser.COLON, i) 

4356 

4357 def suite(self, i:int=None): 

4358 if i is None: 

4359 return self.getTypedRuleContexts(Python3Parser.SuiteContext) 

4360 else: 

4361 return self.getTypedRuleContext(Python3Parser.SuiteContext,i) 

4362 

4363 

4364 def FINALLY(self): 

4365 return self.getToken(Python3Parser.FINALLY, 0) 

4366 

4367 def except_clause(self, i:int=None): 

4368 if i is None: 

4369 return self.getTypedRuleContexts(Python3Parser.Except_clauseContext) 

4370 else: 

4371 return self.getTypedRuleContext(Python3Parser.Except_clauseContext,i) 

4372 

4373 

4374 def ELSE(self): 

4375 return self.getToken(Python3Parser.ELSE, 0) 

4376 

4377 def getRuleIndex(self): 

4378 return Python3Parser.RULE_try_stmt 

4379 

4380 def enterRule(self, listener:ParseTreeListener): 

4381 if hasattr( listener, "enterTry_stmt" ): 

4382 listener.enterTry_stmt(self) 

4383 

4384 def exitRule(self, listener:ParseTreeListener): 

4385 if hasattr( listener, "exitTry_stmt" ): 

4386 listener.exitTry_stmt(self) 

4387 

4388 

4389 

4390 

4391 def try_stmt(self): 

4392 

4393 localctx = Python3Parser.Try_stmtContext(self, self._ctx, self.state) 

4394 self.enterRule(localctx, 88, self.RULE_try_stmt) 

4395 self._la = 0 # Token type 

4396 try: 

4397 self.enterOuterAlt(localctx, 1) 

4398 self.state = 660 

4399 self.match(Python3Parser.TRY) 

4400 self.state = 661 

4401 self.match(Python3Parser.COLON) 

4402 self.state = 662 

4403 self.suite() 

4404 self.state = 684 

4405 self._errHandler.sync(self) 

4406 token = self._input.LA(1) 

4407 if token in [Python3Parser.EXCEPT]: 

4408 self.state = 667 

4409 self._errHandler.sync(self) 

4410 _la = self._input.LA(1) 

4411 while True: 

4412 self.state = 663 

4413 self.except_clause() 

4414 self.state = 664 

4415 self.match(Python3Parser.COLON) 

4416 self.state = 665 

4417 self.suite() 

4418 self.state = 669 

4419 self._errHandler.sync(self) 

4420 _la = self._input.LA(1) 

4421 if not (_la==Python3Parser.EXCEPT): 

4422 break 

4423 

4424 self.state = 674 

4425 self._errHandler.sync(self) 

4426 _la = self._input.LA(1) 

4427 if _la==Python3Parser.ELSE: 

4428 self.state = 671 

4429 self.match(Python3Parser.ELSE) 

4430 self.state = 672 

4431 self.match(Python3Parser.COLON) 

4432 self.state = 673 

4433 self.suite() 

4434 

4435 

4436 self.state = 679 

4437 self._errHandler.sync(self) 

4438 _la = self._input.LA(1) 

4439 if _la==Python3Parser.FINALLY: 

4440 self.state = 676 

4441 self.match(Python3Parser.FINALLY) 

4442 self.state = 677 

4443 self.match(Python3Parser.COLON) 

4444 self.state = 678 

4445 self.suite() 

4446 

4447 

4448 pass 

4449 elif token in [Python3Parser.FINALLY]: 

4450 self.state = 681 

4451 self.match(Python3Parser.FINALLY) 

4452 self.state = 682 

4453 self.match(Python3Parser.COLON) 

4454 self.state = 683 

4455 self.suite() 

4456 pass 

4457 else: 

4458 raise NoViableAltException(self) 

4459 

4460 except RecognitionException as re: 

4461 localctx.exception = re 

4462 self._errHandler.reportError(self, re) 

4463 self._errHandler.recover(self, re) 

4464 finally: 

4465 self.exitRule() 

4466 return localctx 

4467 

4468 

4469 class With_stmtContext(ParserRuleContext): 

4470 

4471 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

4472 super().__init__(parent, invokingState) 

4473 self.parser = parser 

4474 

4475 def WITH(self): 

4476 return self.getToken(Python3Parser.WITH, 0) 

4477 

4478 def with_item(self, i:int=None): 

4479 if i is None: 

4480 return self.getTypedRuleContexts(Python3Parser.With_itemContext) 

4481 else: 

4482 return self.getTypedRuleContext(Python3Parser.With_itemContext,i) 

4483 

4484 

4485 def COLON(self): 

4486 return self.getToken(Python3Parser.COLON, 0) 

4487 

4488 def suite(self): 

4489 return self.getTypedRuleContext(Python3Parser.SuiteContext,0) 

4490 

4491 

4492 def COMMA(self, i:int=None): 

4493 if i is None: 

4494 return self.getTokens(Python3Parser.COMMA) 

4495 else: 

4496 return self.getToken(Python3Parser.COMMA, i) 

4497 

4498 def getRuleIndex(self): 

4499 return Python3Parser.RULE_with_stmt 

4500 

4501 def enterRule(self, listener:ParseTreeListener): 

4502 if hasattr( listener, "enterWith_stmt" ): 

4503 listener.enterWith_stmt(self) 

4504 

4505 def exitRule(self, listener:ParseTreeListener): 

4506 if hasattr( listener, "exitWith_stmt" ): 

4507 listener.exitWith_stmt(self) 

4508 

4509 

4510 

4511 

4512 def with_stmt(self): 

4513 

4514 localctx = Python3Parser.With_stmtContext(self, self._ctx, self.state) 

4515 self.enterRule(localctx, 90, self.RULE_with_stmt) 

4516 self._la = 0 # Token type 

4517 try: 

4518 self.enterOuterAlt(localctx, 1) 

4519 self.state = 686 

4520 self.match(Python3Parser.WITH) 

4521 self.state = 687 

4522 self.with_item() 

4523 self.state = 692 

4524 self._errHandler.sync(self) 

4525 _la = self._input.LA(1) 

4526 while _la==Python3Parser.COMMA: 

4527 self.state = 688 

4528 self.match(Python3Parser.COMMA) 

4529 self.state = 689 

4530 self.with_item() 

4531 self.state = 694 

4532 self._errHandler.sync(self) 

4533 _la = self._input.LA(1) 

4534 

4535 self.state = 695 

4536 self.match(Python3Parser.COLON) 

4537 self.state = 696 

4538 self.suite() 

4539 except RecognitionException as re: 

4540 localctx.exception = re 

4541 self._errHandler.reportError(self, re) 

4542 self._errHandler.recover(self, re) 

4543 finally: 

4544 self.exitRule() 

4545 return localctx 

4546 

4547 

4548 class With_itemContext(ParserRuleContext): 

4549 

4550 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

4551 super().__init__(parent, invokingState) 

4552 self.parser = parser 

4553 

4554 def test(self): 

4555 return self.getTypedRuleContext(Python3Parser.TestContext,0) 

4556 

4557 

4558 def AS(self): 

4559 return self.getToken(Python3Parser.AS, 0) 

4560 

4561 def expr(self): 

4562 return self.getTypedRuleContext(Python3Parser.ExprContext,0) 

4563 

4564 

4565 def getRuleIndex(self): 

4566 return Python3Parser.RULE_with_item 

4567 

4568 def enterRule(self, listener:ParseTreeListener): 

4569 if hasattr( listener, "enterWith_item" ): 

4570 listener.enterWith_item(self) 

4571 

4572 def exitRule(self, listener:ParseTreeListener): 

4573 if hasattr( listener, "exitWith_item" ): 

4574 listener.exitWith_item(self) 

4575 

4576 

4577 

4578 

4579 def with_item(self): 

4580 

4581 localctx = Python3Parser.With_itemContext(self, self._ctx, self.state) 

4582 self.enterRule(localctx, 92, self.RULE_with_item) 

4583 self._la = 0 # Token type 

4584 try: 

4585 self.enterOuterAlt(localctx, 1) 

4586 self.state = 698 

4587 self.test() 

4588 self.state = 701 

4589 self._errHandler.sync(self) 

4590 _la = self._input.LA(1) 

4591 if _la==Python3Parser.AS: 

4592 self.state = 699 

4593 self.match(Python3Parser.AS) 

4594 self.state = 700 

4595 self.expr() 

4596 

4597 

4598 except RecognitionException as re: 

4599 localctx.exception = re 

4600 self._errHandler.reportError(self, re) 

4601 self._errHandler.recover(self, re) 

4602 finally: 

4603 self.exitRule() 

4604 return localctx 

4605 

4606 

4607 class Except_clauseContext(ParserRuleContext): 

4608 

4609 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

4610 super().__init__(parent, invokingState) 

4611 self.parser = parser 

4612 

4613 def EXCEPT(self): 

4614 return self.getToken(Python3Parser.EXCEPT, 0) 

4615 

4616 def test(self): 

4617 return self.getTypedRuleContext(Python3Parser.TestContext,0) 

4618 

4619 

4620 def AS(self): 

4621 return self.getToken(Python3Parser.AS, 0) 

4622 

4623 def NAME(self): 

4624 return self.getToken(Python3Parser.NAME, 0) 

4625 

4626 def getRuleIndex(self): 

4627 return Python3Parser.RULE_except_clause 

4628 

4629 def enterRule(self, listener:ParseTreeListener): 

4630 if hasattr( listener, "enterExcept_clause" ): 

4631 listener.enterExcept_clause(self) 

4632 

4633 def exitRule(self, listener:ParseTreeListener): 

4634 if hasattr( listener, "exitExcept_clause" ): 

4635 listener.exitExcept_clause(self) 

4636 

4637 

4638 

4639 

4640 def except_clause(self): 

4641 

4642 localctx = Python3Parser.Except_clauseContext(self, self._ctx, self.state) 

4643 self.enterRule(localctx, 94, self.RULE_except_clause) 

4644 self._la = 0 # Token type 

4645 try: 

4646 self.enterOuterAlt(localctx, 1) 

4647 self.state = 703 

4648 self.match(Python3Parser.EXCEPT) 

4649 self.state = 709 

4650 self._errHandler.sync(self) 

4651 _la = self._input.LA(1) 

4652 if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << Python3Parser.STRING) | (1 << Python3Parser.NUMBER) | (1 << Python3Parser.LAMBDA) | (1 << Python3Parser.NOT) | (1 << Python3Parser.NONE) | (1 << Python3Parser.TRUE) | (1 << Python3Parser.FALSE) | (1 << Python3Parser.AWAIT) | (1 << Python3Parser.NAME) | (1 << Python3Parser.ELLIPSIS) | (1 << Python3Parser.OPEN_PAREN) | (1 << Python3Parser.OPEN_BRACK))) != 0) or ((((_la - 66)) & ~0x3f) == 0 and ((1 << (_la - 66)) & ((1 << (Python3Parser.ADD - 66)) | (1 << (Python3Parser.MINUS - 66)) | (1 << (Python3Parser.NOT_OP - 66)) | (1 << (Python3Parser.OPEN_BRACE - 66)))) != 0): 

4653 self.state = 704 

4654 self.test() 

4655 self.state = 707 

4656 self._errHandler.sync(self) 

4657 _la = self._input.LA(1) 

4658 if _la==Python3Parser.AS: 

4659 self.state = 705 

4660 self.match(Python3Parser.AS) 

4661 self.state = 706 

4662 self.match(Python3Parser.NAME) 

4663 

4664 

4665 

4666 

4667 except RecognitionException as re: 

4668 localctx.exception = re 

4669 self._errHandler.reportError(self, re) 

4670 self._errHandler.recover(self, re) 

4671 finally: 

4672 self.exitRule() 

4673 return localctx 

4674 

4675 

4676 class SuiteContext(ParserRuleContext): 

4677 

4678 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

4679 super().__init__(parent, invokingState) 

4680 self.parser = parser 

4681 

4682 def simple_stmt(self): 

4683 return self.getTypedRuleContext(Python3Parser.Simple_stmtContext,0) 

4684 

4685 

4686 def NEWLINE(self): 

4687 return self.getToken(Python3Parser.NEWLINE, 0) 

4688 

4689 def INDENT(self): 

4690 return self.getToken(Python3Parser.INDENT, 0) 

4691 

4692 def DEDENT(self): 

4693 return self.getToken(Python3Parser.DEDENT, 0) 

4694 

4695 def stmt(self, i:int=None): 

4696 if i is None: 

4697 return self.getTypedRuleContexts(Python3Parser.StmtContext) 

4698 else: 

4699 return self.getTypedRuleContext(Python3Parser.StmtContext,i) 

4700 

4701 

4702 def getRuleIndex(self): 

4703 return Python3Parser.RULE_suite 

4704 

4705 def enterRule(self, listener:ParseTreeListener): 

4706 if hasattr( listener, "enterSuite" ): 

4707 listener.enterSuite(self) 

4708 

4709 def exitRule(self, listener:ParseTreeListener): 

4710 if hasattr( listener, "exitSuite" ): 

4711 listener.exitSuite(self) 

4712 

4713 

4714 

4715 

4716 def suite(self): 

4717 

4718 localctx = Python3Parser.SuiteContext(self, self._ctx, self.state) 

4719 self.enterRule(localctx, 96, self.RULE_suite) 

4720 self._la = 0 # Token type 

4721 try: 

4722 self.state = 721 

4723 self._errHandler.sync(self) 

4724 token = self._input.LA(1) 

4725 if token in [Python3Parser.STRING, Python3Parser.NUMBER, Python3Parser.RETURN, Python3Parser.RAISE, Python3Parser.FROM, Python3Parser.IMPORT, Python3Parser.GLOBAL, Python3Parser.NONLOCAL, Python3Parser.ASSERT, Python3Parser.LAMBDA, Python3Parser.NOT, Python3Parser.NONE, Python3Parser.TRUE, Python3Parser.FALSE, Python3Parser.YIELD, Python3Parser.DEL, Python3Parser.PASS, Python3Parser.CONTINUE, Python3Parser.BREAK, Python3Parser.AWAIT, Python3Parser.NAME, Python3Parser.ELLIPSIS, Python3Parser.STAR, Python3Parser.OPEN_PAREN, Python3Parser.OPEN_BRACK, Python3Parser.ADD, Python3Parser.MINUS, Python3Parser.NOT_OP, Python3Parser.OPEN_BRACE]: 

4726 self.enterOuterAlt(localctx, 1) 

4727 self.state = 711 

4728 self.simple_stmt() 

4729 pass 

4730 elif token in [Python3Parser.NEWLINE]: 

4731 self.enterOuterAlt(localctx, 2) 

4732 self.state = 712 

4733 self.match(Python3Parser.NEWLINE) 

4734 self.state = 713 

4735 self.match(Python3Parser.INDENT) 

4736 self.state = 715 

4737 self._errHandler.sync(self) 

4738 _la = self._input.LA(1) 

4739 while True: 

4740 self.state = 714 

4741 self.stmt() 

4742 self.state = 717 

4743 self._errHandler.sync(self) 

4744 _la = self._input.LA(1) 

4745 if not ((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << Python3Parser.STRING) | (1 << Python3Parser.NUMBER) | (1 << Python3Parser.DEF) | (1 << Python3Parser.RETURN) | (1 << Python3Parser.RAISE) | (1 << Python3Parser.FROM) | (1 << Python3Parser.IMPORT) | (1 << Python3Parser.GLOBAL) | (1 << Python3Parser.NONLOCAL) | (1 << Python3Parser.ASSERT) | (1 << Python3Parser.IF) | (1 << Python3Parser.WHILE) | (1 << Python3Parser.FOR) | (1 << Python3Parser.TRY) | (1 << Python3Parser.WITH) | (1 << Python3Parser.LAMBDA) | (1 << Python3Parser.NOT) | (1 << Python3Parser.NONE) | (1 << Python3Parser.TRUE) | (1 << Python3Parser.FALSE) | (1 << Python3Parser.CLASS) | (1 << Python3Parser.YIELD) | (1 << Python3Parser.DEL) | (1 << Python3Parser.PASS) | (1 << Python3Parser.CONTINUE) | (1 << Python3Parser.BREAK) | (1 << Python3Parser.ASYNC) | (1 << Python3Parser.AWAIT) | (1 << Python3Parser.NAME) | (1 << Python3Parser.ELLIPSIS) | (1 << Python3Parser.STAR) | (1 << Python3Parser.OPEN_PAREN) | (1 << Python3Parser.OPEN_BRACK))) != 0) or ((((_la - 66)) & ~0x3f) == 0 and ((1 << (_la - 66)) & ((1 << (Python3Parser.ADD - 66)) | (1 << (Python3Parser.MINUS - 66)) | (1 << (Python3Parser.NOT_OP - 66)) | (1 << (Python3Parser.OPEN_BRACE - 66)) | (1 << (Python3Parser.AT - 66)))) != 0)): 

4746 break 

4747 

4748 self.state = 719 

4749 self.match(Python3Parser.DEDENT) 

4750 pass 

4751 else: 

4752 raise NoViableAltException(self) 

4753 

4754 except RecognitionException as re: 

4755 localctx.exception = re 

4756 self._errHandler.reportError(self, re) 

4757 self._errHandler.recover(self, re) 

4758 finally: 

4759 self.exitRule() 

4760 return localctx 

4761 

4762 

4763 class TestContext(ParserRuleContext): 

4764 

4765 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

4766 super().__init__(parent, invokingState) 

4767 self.parser = parser 

4768 

4769 def or_test(self, i:int=None): 

4770 if i is None: 

4771 return self.getTypedRuleContexts(Python3Parser.Or_testContext) 

4772 else: 

4773 return self.getTypedRuleContext(Python3Parser.Or_testContext,i) 

4774 

4775 

4776 def IF(self): 

4777 return self.getToken(Python3Parser.IF, 0) 

4778 

4779 def ELSE(self): 

4780 return self.getToken(Python3Parser.ELSE, 0) 

4781 

4782 def test(self): 

4783 return self.getTypedRuleContext(Python3Parser.TestContext,0) 

4784 

4785 

4786 def lambdef(self): 

4787 return self.getTypedRuleContext(Python3Parser.LambdefContext,0) 

4788 

4789 

4790 def getRuleIndex(self): 

4791 return Python3Parser.RULE_test 

4792 

4793 def enterRule(self, listener:ParseTreeListener): 

4794 if hasattr( listener, "enterTest" ): 

4795 listener.enterTest(self) 

4796 

4797 def exitRule(self, listener:ParseTreeListener): 

4798 if hasattr( listener, "exitTest" ): 

4799 listener.exitTest(self) 

4800 

4801 

4802 

4803 

4804 def test(self): 

4805 

4806 localctx = Python3Parser.TestContext(self, self._ctx, self.state) 

4807 self.enterRule(localctx, 98, self.RULE_test) 

4808 self._la = 0 # Token type 

4809 try: 

4810 self.state = 732 

4811 self._errHandler.sync(self) 

4812 token = self._input.LA(1) 

4813 if token in [Python3Parser.STRING, Python3Parser.NUMBER, Python3Parser.NOT, Python3Parser.NONE, Python3Parser.TRUE, Python3Parser.FALSE, Python3Parser.AWAIT, Python3Parser.NAME, Python3Parser.ELLIPSIS, Python3Parser.OPEN_PAREN, Python3Parser.OPEN_BRACK, Python3Parser.ADD, Python3Parser.MINUS, Python3Parser.NOT_OP, Python3Parser.OPEN_BRACE]: 

4814 self.enterOuterAlt(localctx, 1) 

4815 self.state = 723 

4816 self.or_test() 

4817 self.state = 729 

4818 self._errHandler.sync(self) 

4819 _la = self._input.LA(1) 

4820 if _la==Python3Parser.IF: 

4821 self.state = 724 

4822 self.match(Python3Parser.IF) 

4823 self.state = 725 

4824 self.or_test() 

4825 self.state = 726 

4826 self.match(Python3Parser.ELSE) 

4827 self.state = 727 

4828 self.test() 

4829 

4830 

4831 pass 

4832 elif token in [Python3Parser.LAMBDA]: 

4833 self.enterOuterAlt(localctx, 2) 

4834 self.state = 731 

4835 self.lambdef() 

4836 pass 

4837 else: 

4838 raise NoViableAltException(self) 

4839 

4840 except RecognitionException as re: 

4841 localctx.exception = re 

4842 self._errHandler.reportError(self, re) 

4843 self._errHandler.recover(self, re) 

4844 finally: 

4845 self.exitRule() 

4846 return localctx 

4847 

4848 

4849 class Test_nocondContext(ParserRuleContext): 

4850 

4851 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

4852 super().__init__(parent, invokingState) 

4853 self.parser = parser 

4854 

4855 def or_test(self): 

4856 return self.getTypedRuleContext(Python3Parser.Or_testContext,0) 

4857 

4858 

4859 def lambdef_nocond(self): 

4860 return self.getTypedRuleContext(Python3Parser.Lambdef_nocondContext,0) 

4861 

4862 

4863 def getRuleIndex(self): 

4864 return Python3Parser.RULE_test_nocond 

4865 

4866 def enterRule(self, listener:ParseTreeListener): 

4867 if hasattr( listener, "enterTest_nocond" ): 

4868 listener.enterTest_nocond(self) 

4869 

4870 def exitRule(self, listener:ParseTreeListener): 

4871 if hasattr( listener, "exitTest_nocond" ): 

4872 listener.exitTest_nocond(self) 

4873 

4874 

4875 

4876 

4877 def test_nocond(self): 

4878 

4879 localctx = Python3Parser.Test_nocondContext(self, self._ctx, self.state) 

4880 self.enterRule(localctx, 100, self.RULE_test_nocond) 

4881 try: 

4882 self.state = 736 

4883 self._errHandler.sync(self) 

4884 token = self._input.LA(1) 

4885 if token in [Python3Parser.STRING, Python3Parser.NUMBER, Python3Parser.NOT, Python3Parser.NONE, Python3Parser.TRUE, Python3Parser.FALSE, Python3Parser.AWAIT, Python3Parser.NAME, Python3Parser.ELLIPSIS, Python3Parser.OPEN_PAREN, Python3Parser.OPEN_BRACK, Python3Parser.ADD, Python3Parser.MINUS, Python3Parser.NOT_OP, Python3Parser.OPEN_BRACE]: 

4886 self.enterOuterAlt(localctx, 1) 

4887 self.state = 734 

4888 self.or_test() 

4889 pass 

4890 elif token in [Python3Parser.LAMBDA]: 

4891 self.enterOuterAlt(localctx, 2) 

4892 self.state = 735 

4893 self.lambdef_nocond() 

4894 pass 

4895 else: 

4896 raise NoViableAltException(self) 

4897 

4898 except RecognitionException as re: 

4899 localctx.exception = re 

4900 self._errHandler.reportError(self, re) 

4901 self._errHandler.recover(self, re) 

4902 finally: 

4903 self.exitRule() 

4904 return localctx 

4905 

4906 

4907 class LambdefContext(ParserRuleContext): 

4908 

4909 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

4910 super().__init__(parent, invokingState) 

4911 self.parser = parser 

4912 

4913 def LAMBDA(self): 

4914 return self.getToken(Python3Parser.LAMBDA, 0) 

4915 

4916 def COLON(self): 

4917 return self.getToken(Python3Parser.COLON, 0) 

4918 

4919 def test(self): 

4920 return self.getTypedRuleContext(Python3Parser.TestContext,0) 

4921 

4922 

4923 def varargslist(self): 

4924 return self.getTypedRuleContext(Python3Parser.VarargslistContext,0) 

4925 

4926 

4927 def getRuleIndex(self): 

4928 return Python3Parser.RULE_lambdef 

4929 

4930 def enterRule(self, listener:ParseTreeListener): 

4931 if hasattr( listener, "enterLambdef" ): 

4932 listener.enterLambdef(self) 

4933 

4934 def exitRule(self, listener:ParseTreeListener): 

4935 if hasattr( listener, "exitLambdef" ): 

4936 listener.exitLambdef(self) 

4937 

4938 

4939 

4940 

4941 def lambdef(self): 

4942 

4943 localctx = Python3Parser.LambdefContext(self, self._ctx, self.state) 

4944 self.enterRule(localctx, 102, self.RULE_lambdef) 

4945 self._la = 0 # Token type 

4946 try: 

4947 self.enterOuterAlt(localctx, 1) 

4948 self.state = 738 

4949 self.match(Python3Parser.LAMBDA) 

4950 self.state = 740 

4951 self._errHandler.sync(self) 

4952 _la = self._input.LA(1) 

4953 if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << Python3Parser.NAME) | (1 << Python3Parser.STAR) | (1 << Python3Parser.POWER))) != 0): 

4954 self.state = 739 

4955 self.varargslist() 

4956 

4957 

4958 self.state = 742 

4959 self.match(Python3Parser.COLON) 

4960 self.state = 743 

4961 self.test() 

4962 except RecognitionException as re: 

4963 localctx.exception = re 

4964 self._errHandler.reportError(self, re) 

4965 self._errHandler.recover(self, re) 

4966 finally: 

4967 self.exitRule() 

4968 return localctx 

4969 

4970 

4971 class Lambdef_nocondContext(ParserRuleContext): 

4972 

4973 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

4974 super().__init__(parent, invokingState) 

4975 self.parser = parser 

4976 

4977 def LAMBDA(self): 

4978 return self.getToken(Python3Parser.LAMBDA, 0) 

4979 

4980 def COLON(self): 

4981 return self.getToken(Python3Parser.COLON, 0) 

4982 

4983 def test_nocond(self): 

4984 return self.getTypedRuleContext(Python3Parser.Test_nocondContext,0) 

4985 

4986 

4987 def varargslist(self): 

4988 return self.getTypedRuleContext(Python3Parser.VarargslistContext,0) 

4989 

4990 

4991 def getRuleIndex(self): 

4992 return Python3Parser.RULE_lambdef_nocond 

4993 

4994 def enterRule(self, listener:ParseTreeListener): 

4995 if hasattr( listener, "enterLambdef_nocond" ): 

4996 listener.enterLambdef_nocond(self) 

4997 

4998 def exitRule(self, listener:ParseTreeListener): 

4999 if hasattr( listener, "exitLambdef_nocond" ): 

5000 listener.exitLambdef_nocond(self) 

5001 

5002 

5003 

5004 

5005 def lambdef_nocond(self): 

5006 

5007 localctx = Python3Parser.Lambdef_nocondContext(self, self._ctx, self.state) 

5008 self.enterRule(localctx, 104, self.RULE_lambdef_nocond) 

5009 self._la = 0 # Token type 

5010 try: 

5011 self.enterOuterAlt(localctx, 1) 

5012 self.state = 745 

5013 self.match(Python3Parser.LAMBDA) 

5014 self.state = 747 

5015 self._errHandler.sync(self) 

5016 _la = self._input.LA(1) 

5017 if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << Python3Parser.NAME) | (1 << Python3Parser.STAR) | (1 << Python3Parser.POWER))) != 0): 

5018 self.state = 746 

5019 self.varargslist() 

5020 

5021 

5022 self.state = 749 

5023 self.match(Python3Parser.COLON) 

5024 self.state = 750 

5025 self.test_nocond() 

5026 except RecognitionException as re: 

5027 localctx.exception = re 

5028 self._errHandler.reportError(self, re) 

5029 self._errHandler.recover(self, re) 

5030 finally: 

5031 self.exitRule() 

5032 return localctx 

5033 

5034 

5035 class Or_testContext(ParserRuleContext): 

5036 

5037 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

5038 super().__init__(parent, invokingState) 

5039 self.parser = parser 

5040 

5041 def and_test(self, i:int=None): 

5042 if i is None: 

5043 return self.getTypedRuleContexts(Python3Parser.And_testContext) 

5044 else: 

5045 return self.getTypedRuleContext(Python3Parser.And_testContext,i) 

5046 

5047 

5048 def OR(self, i:int=None): 

5049 if i is None: 

5050 return self.getTokens(Python3Parser.OR) 

5051 else: 

5052 return self.getToken(Python3Parser.OR, i) 

5053 

5054 def getRuleIndex(self): 

5055 return Python3Parser.RULE_or_test 

5056 

5057 def enterRule(self, listener:ParseTreeListener): 

5058 if hasattr( listener, "enterOr_test" ): 

5059 listener.enterOr_test(self) 

5060 

5061 def exitRule(self, listener:ParseTreeListener): 

5062 if hasattr( listener, "exitOr_test" ): 

5063 listener.exitOr_test(self) 

5064 

5065 

5066 

5067 

5068 def or_test(self): 

5069 

5070 localctx = Python3Parser.Or_testContext(self, self._ctx, self.state) 

5071 self.enterRule(localctx, 106, self.RULE_or_test) 

5072 self._la = 0 # Token type 

5073 try: 

5074 self.enterOuterAlt(localctx, 1) 

5075 self.state = 752 

5076 self.and_test() 

5077 self.state = 757 

5078 self._errHandler.sync(self) 

5079 _la = self._input.LA(1) 

5080 while _la==Python3Parser.OR: 

5081 self.state = 753 

5082 self.match(Python3Parser.OR) 

5083 self.state = 754 

5084 self.and_test() 

5085 self.state = 759 

5086 self._errHandler.sync(self) 

5087 _la = self._input.LA(1) 

5088 

5089 except RecognitionException as re: 

5090 localctx.exception = re 

5091 self._errHandler.reportError(self, re) 

5092 self._errHandler.recover(self, re) 

5093 finally: 

5094 self.exitRule() 

5095 return localctx 

5096 

5097 

5098 class And_testContext(ParserRuleContext): 

5099 

5100 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

5101 super().__init__(parent, invokingState) 

5102 self.parser = parser 

5103 

5104 def not_test(self, i:int=None): 

5105 if i is None: 

5106 return self.getTypedRuleContexts(Python3Parser.Not_testContext) 

5107 else: 

5108 return self.getTypedRuleContext(Python3Parser.Not_testContext,i) 

5109 

5110 

5111 def AND(self, i:int=None): 

5112 if i is None: 

5113 return self.getTokens(Python3Parser.AND) 

5114 else: 

5115 return self.getToken(Python3Parser.AND, i) 

5116 

5117 def getRuleIndex(self): 

5118 return Python3Parser.RULE_and_test 

5119 

5120 def enterRule(self, listener:ParseTreeListener): 

5121 if hasattr( listener, "enterAnd_test" ): 

5122 listener.enterAnd_test(self) 

5123 

5124 def exitRule(self, listener:ParseTreeListener): 

5125 if hasattr( listener, "exitAnd_test" ): 

5126 listener.exitAnd_test(self) 

5127 

5128 

5129 

5130 

5131 def and_test(self): 

5132 

5133 localctx = Python3Parser.And_testContext(self, self._ctx, self.state) 

5134 self.enterRule(localctx, 108, self.RULE_and_test) 

5135 self._la = 0 # Token type 

5136 try: 

5137 self.enterOuterAlt(localctx, 1) 

5138 self.state = 760 

5139 self.not_test() 

5140 self.state = 765 

5141 self._errHandler.sync(self) 

5142 _la = self._input.LA(1) 

5143 while _la==Python3Parser.AND: 

5144 self.state = 761 

5145 self.match(Python3Parser.AND) 

5146 self.state = 762 

5147 self.not_test() 

5148 self.state = 767 

5149 self._errHandler.sync(self) 

5150 _la = self._input.LA(1) 

5151 

5152 except RecognitionException as re: 

5153 localctx.exception = re 

5154 self._errHandler.reportError(self, re) 

5155 self._errHandler.recover(self, re) 

5156 finally: 

5157 self.exitRule() 

5158 return localctx 

5159 

5160 

5161 class Not_testContext(ParserRuleContext): 

5162 

5163 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

5164 super().__init__(parent, invokingState) 

5165 self.parser = parser 

5166 

5167 def NOT(self): 

5168 return self.getToken(Python3Parser.NOT, 0) 

5169 

5170 def not_test(self): 

5171 return self.getTypedRuleContext(Python3Parser.Not_testContext,0) 

5172 

5173 

5174 def comparison(self): 

5175 return self.getTypedRuleContext(Python3Parser.ComparisonContext,0) 

5176 

5177 

5178 def getRuleIndex(self): 

5179 return Python3Parser.RULE_not_test 

5180 

5181 def enterRule(self, listener:ParseTreeListener): 

5182 if hasattr( listener, "enterNot_test" ): 

5183 listener.enterNot_test(self) 

5184 

5185 def exitRule(self, listener:ParseTreeListener): 

5186 if hasattr( listener, "exitNot_test" ): 

5187 listener.exitNot_test(self) 

5188 

5189 

5190 

5191 

5192 def not_test(self): 

5193 

5194 localctx = Python3Parser.Not_testContext(self, self._ctx, self.state) 

5195 self.enterRule(localctx, 110, self.RULE_not_test) 

5196 try: 

5197 self.state = 771 

5198 self._errHandler.sync(self) 

5199 token = self._input.LA(1) 

5200 if token in [Python3Parser.NOT]: 

5201 self.enterOuterAlt(localctx, 1) 

5202 self.state = 768 

5203 self.match(Python3Parser.NOT) 

5204 self.state = 769 

5205 self.not_test() 

5206 pass 

5207 elif token in [Python3Parser.STRING, Python3Parser.NUMBER, Python3Parser.NONE, Python3Parser.TRUE, Python3Parser.FALSE, Python3Parser.AWAIT, Python3Parser.NAME, Python3Parser.ELLIPSIS, Python3Parser.OPEN_PAREN, Python3Parser.OPEN_BRACK, Python3Parser.ADD, Python3Parser.MINUS, Python3Parser.NOT_OP, Python3Parser.OPEN_BRACE]: 

5208 self.enterOuterAlt(localctx, 2) 

5209 self.state = 770 

5210 self.comparison() 

5211 pass 

5212 else: 

5213 raise NoViableAltException(self) 

5214 

5215 except RecognitionException as re: 

5216 localctx.exception = re 

5217 self._errHandler.reportError(self, re) 

5218 self._errHandler.recover(self, re) 

5219 finally: 

5220 self.exitRule() 

5221 return localctx 

5222 

5223 

5224 class ComparisonContext(ParserRuleContext): 

5225 

5226 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

5227 super().__init__(parent, invokingState) 

5228 self.parser = parser 

5229 

5230 def expr(self, i:int=None): 

5231 if i is None: 

5232 return self.getTypedRuleContexts(Python3Parser.ExprContext) 

5233 else: 

5234 return self.getTypedRuleContext(Python3Parser.ExprContext,i) 

5235 

5236 

5237 def comp_op(self, i:int=None): 

5238 if i is None: 

5239 return self.getTypedRuleContexts(Python3Parser.Comp_opContext) 

5240 else: 

5241 return self.getTypedRuleContext(Python3Parser.Comp_opContext,i) 

5242 

5243 

5244 def getRuleIndex(self): 

5245 return Python3Parser.RULE_comparison 

5246 

5247 def enterRule(self, listener:ParseTreeListener): 

5248 if hasattr( listener, "enterComparison" ): 

5249 listener.enterComparison(self) 

5250 

5251 def exitRule(self, listener:ParseTreeListener): 

5252 if hasattr( listener, "exitComparison" ): 

5253 listener.exitComparison(self) 

5254 

5255 

5256 

5257 

5258 def comparison(self): 

5259 

5260 localctx = Python3Parser.ComparisonContext(self, self._ctx, self.state) 

5261 self.enterRule(localctx, 112, self.RULE_comparison) 

5262 self._la = 0 # Token type 

5263 try: 

5264 self.enterOuterAlt(localctx, 1) 

5265 self.state = 773 

5266 self.expr() 

5267 self.state = 779 

5268 self._errHandler.sync(self) 

5269 _la = self._input.LA(1) 

5270 while ((((_la - 18)) & ~0x3f) == 0 and ((1 << (_la - 18)) & ((1 << (Python3Parser.IN - 18)) | (1 << (Python3Parser.NOT - 18)) | (1 << (Python3Parser.IS - 18)) | (1 << (Python3Parser.LESS_THAN - 18)) | (1 << (Python3Parser.GREATER_THAN - 18)) | (1 << (Python3Parser.EQUALS - 18)) | (1 << (Python3Parser.GT_EQ - 18)) | (1 << (Python3Parser.LT_EQ - 18)) | (1 << (Python3Parser.NOT_EQ_1 - 18)) | (1 << (Python3Parser.NOT_EQ_2 - 18)))) != 0): 

5271 self.state = 774 

5272 self.comp_op() 

5273 self.state = 775 

5274 self.expr() 

5275 self.state = 781 

5276 self._errHandler.sync(self) 

5277 _la = self._input.LA(1) 

5278 

5279 except RecognitionException as re: 

5280 localctx.exception = re 

5281 self._errHandler.reportError(self, re) 

5282 self._errHandler.recover(self, re) 

5283 finally: 

5284 self.exitRule() 

5285 return localctx 

5286 

5287 

5288 class Comp_opContext(ParserRuleContext): 

5289 

5290 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

5291 super().__init__(parent, invokingState) 

5292 self.parser = parser 

5293 

5294 def LESS_THAN(self): 

5295 return self.getToken(Python3Parser.LESS_THAN, 0) 

5296 

5297 def GREATER_THAN(self): 

5298 return self.getToken(Python3Parser.GREATER_THAN, 0) 

5299 

5300 def EQUALS(self): 

5301 return self.getToken(Python3Parser.EQUALS, 0) 

5302 

5303 def GT_EQ(self): 

5304 return self.getToken(Python3Parser.GT_EQ, 0) 

5305 

5306 def LT_EQ(self): 

5307 return self.getToken(Python3Parser.LT_EQ, 0) 

5308 

5309 def NOT_EQ_1(self): 

5310 return self.getToken(Python3Parser.NOT_EQ_1, 0) 

5311 

5312 def NOT_EQ_2(self): 

5313 return self.getToken(Python3Parser.NOT_EQ_2, 0) 

5314 

5315 def IN(self): 

5316 return self.getToken(Python3Parser.IN, 0) 

5317 

5318 def NOT(self): 

5319 return self.getToken(Python3Parser.NOT, 0) 

5320 

5321 def IS(self): 

5322 return self.getToken(Python3Parser.IS, 0) 

5323 

5324 def getRuleIndex(self): 

5325 return Python3Parser.RULE_comp_op 

5326 

5327 def enterRule(self, listener:ParseTreeListener): 

5328 if hasattr( listener, "enterComp_op" ): 

5329 listener.enterComp_op(self) 

5330 

5331 def exitRule(self, listener:ParseTreeListener): 

5332 if hasattr( listener, "exitComp_op" ): 

5333 listener.exitComp_op(self) 

5334 

5335 

5336 

5337 

5338 def comp_op(self): 

5339 

5340 localctx = Python3Parser.Comp_opContext(self, self._ctx, self.state) 

5341 self.enterRule(localctx, 114, self.RULE_comp_op) 

5342 try: 

5343 self.state = 795 

5344 self._errHandler.sync(self) 

5345 la_ = self._interp.adaptivePredict(self._input,107,self._ctx) 

5346 if la_ == 1: 

5347 self.enterOuterAlt(localctx, 1) 

5348 self.state = 782 

5349 self.match(Python3Parser.LESS_THAN) 

5350 pass 

5351 

5352 elif la_ == 2: 

5353 self.enterOuterAlt(localctx, 2) 

5354 self.state = 783 

5355 self.match(Python3Parser.GREATER_THAN) 

5356 pass 

5357 

5358 elif la_ == 3: 

5359 self.enterOuterAlt(localctx, 3) 

5360 self.state = 784 

5361 self.match(Python3Parser.EQUALS) 

5362 pass 

5363 

5364 elif la_ == 4: 

5365 self.enterOuterAlt(localctx, 4) 

5366 self.state = 785 

5367 self.match(Python3Parser.GT_EQ) 

5368 pass 

5369 

5370 elif la_ == 5: 

5371 self.enterOuterAlt(localctx, 5) 

5372 self.state = 786 

5373 self.match(Python3Parser.LT_EQ) 

5374 pass 

5375 

5376 elif la_ == 6: 

5377 self.enterOuterAlt(localctx, 6) 

5378 self.state = 787 

5379 self.match(Python3Parser.NOT_EQ_1) 

5380 pass 

5381 

5382 elif la_ == 7: 

5383 self.enterOuterAlt(localctx, 7) 

5384 self.state = 788 

5385 self.match(Python3Parser.NOT_EQ_2) 

5386 pass 

5387 

5388 elif la_ == 8: 

5389 self.enterOuterAlt(localctx, 8) 

5390 self.state = 789 

5391 self.match(Python3Parser.IN) 

5392 pass 

5393 

5394 elif la_ == 9: 

5395 self.enterOuterAlt(localctx, 9) 

5396 self.state = 790 

5397 self.match(Python3Parser.NOT) 

5398 self.state = 791 

5399 self.match(Python3Parser.IN) 

5400 pass 

5401 

5402 elif la_ == 10: 

5403 self.enterOuterAlt(localctx, 10) 

5404 self.state = 792 

5405 self.match(Python3Parser.IS) 

5406 pass 

5407 

5408 elif la_ == 11: 

5409 self.enterOuterAlt(localctx, 11) 

5410 self.state = 793 

5411 self.match(Python3Parser.IS) 

5412 self.state = 794 

5413 self.match(Python3Parser.NOT) 

5414 pass 

5415 

5416 

5417 except RecognitionException as re: 

5418 localctx.exception = re 

5419 self._errHandler.reportError(self, re) 

5420 self._errHandler.recover(self, re) 

5421 finally: 

5422 self.exitRule() 

5423 return localctx 

5424 

5425 

5426 class Star_exprContext(ParserRuleContext): 

5427 

5428 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

5429 super().__init__(parent, invokingState) 

5430 self.parser = parser 

5431 

5432 def STAR(self): 

5433 return self.getToken(Python3Parser.STAR, 0) 

5434 

5435 def expr(self): 

5436 return self.getTypedRuleContext(Python3Parser.ExprContext,0) 

5437 

5438 

5439 def getRuleIndex(self): 

5440 return Python3Parser.RULE_star_expr 

5441 

5442 def enterRule(self, listener:ParseTreeListener): 

5443 if hasattr( listener, "enterStar_expr" ): 

5444 listener.enterStar_expr(self) 

5445 

5446 def exitRule(self, listener:ParseTreeListener): 

5447 if hasattr( listener, "exitStar_expr" ): 

5448 listener.exitStar_expr(self) 

5449 

5450 

5451 

5452 

5453 def star_expr(self): 

5454 

5455 localctx = Python3Parser.Star_exprContext(self, self._ctx, self.state) 

5456 self.enterRule(localctx, 116, self.RULE_star_expr) 

5457 try: 

5458 self.enterOuterAlt(localctx, 1) 

5459 self.state = 797 

5460 self.match(Python3Parser.STAR) 

5461 self.state = 798 

5462 self.expr() 

5463 except RecognitionException as re: 

5464 localctx.exception = re 

5465 self._errHandler.reportError(self, re) 

5466 self._errHandler.recover(self, re) 

5467 finally: 

5468 self.exitRule() 

5469 return localctx 

5470 

5471 

5472 class ExprContext(ParserRuleContext): 

5473 

5474 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

5475 super().__init__(parent, invokingState) 

5476 self.parser = parser 

5477 

5478 def xor_expr(self, i:int=None): 

5479 if i is None: 

5480 return self.getTypedRuleContexts(Python3Parser.Xor_exprContext) 

5481 else: 

5482 return self.getTypedRuleContext(Python3Parser.Xor_exprContext,i) 

5483 

5484 

5485 def OR_OP(self, i:int=None): 

5486 if i is None: 

5487 return self.getTokens(Python3Parser.OR_OP) 

5488 else: 

5489 return self.getToken(Python3Parser.OR_OP, i) 

5490 

5491 def getRuleIndex(self): 

5492 return Python3Parser.RULE_expr 

5493 

5494 def enterRule(self, listener:ParseTreeListener): 

5495 if hasattr( listener, "enterExpr" ): 

5496 listener.enterExpr(self) 

5497 

5498 def exitRule(self, listener:ParseTreeListener): 

5499 if hasattr( listener, "exitExpr" ): 

5500 listener.exitExpr(self) 

5501 

5502 

5503 

5504 

5505 def expr(self): 

5506 

5507 localctx = Python3Parser.ExprContext(self, self._ctx, self.state) 

5508 self.enterRule(localctx, 118, self.RULE_expr) 

5509 self._la = 0 # Token type 

5510 try: 

5511 self.enterOuterAlt(localctx, 1) 

5512 self.state = 800 

5513 self.xor_expr() 

5514 self.state = 805 

5515 self._errHandler.sync(self) 

5516 _la = self._input.LA(1) 

5517 while _la==Python3Parser.OR_OP: 

5518 self.state = 801 

5519 self.match(Python3Parser.OR_OP) 

5520 self.state = 802 

5521 self.xor_expr() 

5522 self.state = 807 

5523 self._errHandler.sync(self) 

5524 _la = self._input.LA(1) 

5525 

5526 except RecognitionException as re: 

5527 localctx.exception = re 

5528 self._errHandler.reportError(self, re) 

5529 self._errHandler.recover(self, re) 

5530 finally: 

5531 self.exitRule() 

5532 return localctx 

5533 

5534 

5535 class Xor_exprContext(ParserRuleContext): 

5536 

5537 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

5538 super().__init__(parent, invokingState) 

5539 self.parser = parser 

5540 

5541 def and_expr(self, i:int=None): 

5542 if i is None: 

5543 return self.getTypedRuleContexts(Python3Parser.And_exprContext) 

5544 else: 

5545 return self.getTypedRuleContext(Python3Parser.And_exprContext,i) 

5546 

5547 

5548 def XOR(self, i:int=None): 

5549 if i is None: 

5550 return self.getTokens(Python3Parser.XOR) 

5551 else: 

5552 return self.getToken(Python3Parser.XOR, i) 

5553 

5554 def getRuleIndex(self): 

5555 return Python3Parser.RULE_xor_expr 

5556 

5557 def enterRule(self, listener:ParseTreeListener): 

5558 if hasattr( listener, "enterXor_expr" ): 

5559 listener.enterXor_expr(self) 

5560 

5561 def exitRule(self, listener:ParseTreeListener): 

5562 if hasattr( listener, "exitXor_expr" ): 

5563 listener.exitXor_expr(self) 

5564 

5565 

5566 

5567 

5568 def xor_expr(self): 

5569 

5570 localctx = Python3Parser.Xor_exprContext(self, self._ctx, self.state) 

5571 self.enterRule(localctx, 120, self.RULE_xor_expr) 

5572 self._la = 0 # Token type 

5573 try: 

5574 self.enterOuterAlt(localctx, 1) 

5575 self.state = 808 

5576 self.and_expr() 

5577 self.state = 813 

5578 self._errHandler.sync(self) 

5579 _la = self._input.LA(1) 

5580 while _la==Python3Parser.XOR: 

5581 self.state = 809 

5582 self.match(Python3Parser.XOR) 

5583 self.state = 810 

5584 self.and_expr() 

5585 self.state = 815 

5586 self._errHandler.sync(self) 

5587 _la = self._input.LA(1) 

5588 

5589 except RecognitionException as re: 

5590 localctx.exception = re 

5591 self._errHandler.reportError(self, re) 

5592 self._errHandler.recover(self, re) 

5593 finally: 

5594 self.exitRule() 

5595 return localctx 

5596 

5597 

5598 class And_exprContext(ParserRuleContext): 

5599 

5600 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

5601 super().__init__(parent, invokingState) 

5602 self.parser = parser 

5603 

5604 def shift_expr(self, i:int=None): 

5605 if i is None: 

5606 return self.getTypedRuleContexts(Python3Parser.Shift_exprContext) 

5607 else: 

5608 return self.getTypedRuleContext(Python3Parser.Shift_exprContext,i) 

5609 

5610 

5611 def AND_OP(self, i:int=None): 

5612 if i is None: 

5613 return self.getTokens(Python3Parser.AND_OP) 

5614 else: 

5615 return self.getToken(Python3Parser.AND_OP, i) 

5616 

5617 def getRuleIndex(self): 

5618 return Python3Parser.RULE_and_expr 

5619 

5620 def enterRule(self, listener:ParseTreeListener): 

5621 if hasattr( listener, "enterAnd_expr" ): 

5622 listener.enterAnd_expr(self) 

5623 

5624 def exitRule(self, listener:ParseTreeListener): 

5625 if hasattr( listener, "exitAnd_expr" ): 

5626 listener.exitAnd_expr(self) 

5627 

5628 

5629 

5630 

5631 def and_expr(self): 

5632 

5633 localctx = Python3Parser.And_exprContext(self, self._ctx, self.state) 

5634 self.enterRule(localctx, 122, self.RULE_and_expr) 

5635 self._la = 0 # Token type 

5636 try: 

5637 self.enterOuterAlt(localctx, 1) 

5638 self.state = 816 

5639 self.shift_expr() 

5640 self.state = 821 

5641 self._errHandler.sync(self) 

5642 _la = self._input.LA(1) 

5643 while _la==Python3Parser.AND_OP: 

5644 self.state = 817 

5645 self.match(Python3Parser.AND_OP) 

5646 self.state = 818 

5647 self.shift_expr() 

5648 self.state = 823 

5649 self._errHandler.sync(self) 

5650 _la = self._input.LA(1) 

5651 

5652 except RecognitionException as re: 

5653 localctx.exception = re 

5654 self._errHandler.reportError(self, re) 

5655 self._errHandler.recover(self, re) 

5656 finally: 

5657 self.exitRule() 

5658 return localctx 

5659 

5660 

5661 class Shift_exprContext(ParserRuleContext): 

5662 

5663 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

5664 super().__init__(parent, invokingState) 

5665 self.parser = parser 

5666 

5667 def arith_expr(self, i:int=None): 

5668 if i is None: 

5669 return self.getTypedRuleContexts(Python3Parser.Arith_exprContext) 

5670 else: 

5671 return self.getTypedRuleContext(Python3Parser.Arith_exprContext,i) 

5672 

5673 

5674 def LEFT_SHIFT(self, i:int=None): 

5675 if i is None: 

5676 return self.getTokens(Python3Parser.LEFT_SHIFT) 

5677 else: 

5678 return self.getToken(Python3Parser.LEFT_SHIFT, i) 

5679 

5680 def RIGHT_SHIFT(self, i:int=None): 

5681 if i is None: 

5682 return self.getTokens(Python3Parser.RIGHT_SHIFT) 

5683 else: 

5684 return self.getToken(Python3Parser.RIGHT_SHIFT, i) 

5685 

5686 def getRuleIndex(self): 

5687 return Python3Parser.RULE_shift_expr 

5688 

5689 def enterRule(self, listener:ParseTreeListener): 

5690 if hasattr( listener, "enterShift_expr" ): 

5691 listener.enterShift_expr(self) 

5692 

5693 def exitRule(self, listener:ParseTreeListener): 

5694 if hasattr( listener, "exitShift_expr" ): 

5695 listener.exitShift_expr(self) 

5696 

5697 

5698 

5699 

5700 def shift_expr(self): 

5701 

5702 localctx = Python3Parser.Shift_exprContext(self, self._ctx, self.state) 

5703 self.enterRule(localctx, 124, self.RULE_shift_expr) 

5704 self._la = 0 # Token type 

5705 try: 

5706 self.enterOuterAlt(localctx, 1) 

5707 self.state = 824 

5708 self.arith_expr() 

5709 self.state = 829 

5710 self._errHandler.sync(self) 

5711 _la = self._input.LA(1) 

5712 while _la==Python3Parser.LEFT_SHIFT or _la==Python3Parser.RIGHT_SHIFT: 

5713 self.state = 825 

5714 _la = self._input.LA(1) 

5715 if not(_la==Python3Parser.LEFT_SHIFT or _la==Python3Parser.RIGHT_SHIFT): 

5716 self._errHandler.recoverInline(self) 

5717 else: 

5718 self._errHandler.reportMatch(self) 

5719 self.consume() 

5720 self.state = 826 

5721 self.arith_expr() 

5722 self.state = 831 

5723 self._errHandler.sync(self) 

5724 _la = self._input.LA(1) 

5725 

5726 except RecognitionException as re: 

5727 localctx.exception = re 

5728 self._errHandler.reportError(self, re) 

5729 self._errHandler.recover(self, re) 

5730 finally: 

5731 self.exitRule() 

5732 return localctx 

5733 

5734 

5735 class Arith_exprContext(ParserRuleContext): 

5736 

5737 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

5738 super().__init__(parent, invokingState) 

5739 self.parser = parser 

5740 

5741 def term(self, i:int=None): 

5742 if i is None: 

5743 return self.getTypedRuleContexts(Python3Parser.TermContext) 

5744 else: 

5745 return self.getTypedRuleContext(Python3Parser.TermContext,i) 

5746 

5747 

5748 def ADD(self, i:int=None): 

5749 if i is None: 

5750 return self.getTokens(Python3Parser.ADD) 

5751 else: 

5752 return self.getToken(Python3Parser.ADD, i) 

5753 

5754 def MINUS(self, i:int=None): 

5755 if i is None: 

5756 return self.getTokens(Python3Parser.MINUS) 

5757 else: 

5758 return self.getToken(Python3Parser.MINUS, i) 

5759 

5760 def getRuleIndex(self): 

5761 return Python3Parser.RULE_arith_expr 

5762 

5763 def enterRule(self, listener:ParseTreeListener): 

5764 if hasattr( listener, "enterArith_expr" ): 

5765 listener.enterArith_expr(self) 

5766 

5767 def exitRule(self, listener:ParseTreeListener): 

5768 if hasattr( listener, "exitArith_expr" ): 

5769 listener.exitArith_expr(self) 

5770 

5771 

5772 

5773 

5774 def arith_expr(self): 

5775 

5776 localctx = Python3Parser.Arith_exprContext(self, self._ctx, self.state) 

5777 self.enterRule(localctx, 126, self.RULE_arith_expr) 

5778 self._la = 0 # Token type 

5779 try: 

5780 self.enterOuterAlt(localctx, 1) 

5781 self.state = 832 

5782 self.term() 

5783 self.state = 837 

5784 self._errHandler.sync(self) 

5785 _la = self._input.LA(1) 

5786 while _la==Python3Parser.ADD or _la==Python3Parser.MINUS: 

5787 self.state = 833 

5788 _la = self._input.LA(1) 

5789 if not(_la==Python3Parser.ADD or _la==Python3Parser.MINUS): 

5790 self._errHandler.recoverInline(self) 

5791 else: 

5792 self._errHandler.reportMatch(self) 

5793 self.consume() 

5794 self.state = 834 

5795 self.term() 

5796 self.state = 839 

5797 self._errHandler.sync(self) 

5798 _la = self._input.LA(1) 

5799 

5800 except RecognitionException as re: 

5801 localctx.exception = re 

5802 self._errHandler.reportError(self, re) 

5803 self._errHandler.recover(self, re) 

5804 finally: 

5805 self.exitRule() 

5806 return localctx 

5807 

5808 

5809 class TermContext(ParserRuleContext): 

5810 

5811 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

5812 super().__init__(parent, invokingState) 

5813 self.parser = parser 

5814 

5815 def factor(self, i:int=None): 

5816 if i is None: 

5817 return self.getTypedRuleContexts(Python3Parser.FactorContext) 

5818 else: 

5819 return self.getTypedRuleContext(Python3Parser.FactorContext,i) 

5820 

5821 

5822 def STAR(self, i:int=None): 

5823 if i is None: 

5824 return self.getTokens(Python3Parser.STAR) 

5825 else: 

5826 return self.getToken(Python3Parser.STAR, i) 

5827 

5828 def AT(self, i:int=None): 

5829 if i is None: 

5830 return self.getTokens(Python3Parser.AT) 

5831 else: 

5832 return self.getToken(Python3Parser.AT, i) 

5833 

5834 def DIV(self, i:int=None): 

5835 if i is None: 

5836 return self.getTokens(Python3Parser.DIV) 

5837 else: 

5838 return self.getToken(Python3Parser.DIV, i) 

5839 

5840 def MOD(self, i:int=None): 

5841 if i is None: 

5842 return self.getTokens(Python3Parser.MOD) 

5843 else: 

5844 return self.getToken(Python3Parser.MOD, i) 

5845 

5846 def IDIV(self, i:int=None): 

5847 if i is None: 

5848 return self.getTokens(Python3Parser.IDIV) 

5849 else: 

5850 return self.getToken(Python3Parser.IDIV, i) 

5851 

5852 def getRuleIndex(self): 

5853 return Python3Parser.RULE_term 

5854 

5855 def enterRule(self, listener:ParseTreeListener): 

5856 if hasattr( listener, "enterTerm" ): 

5857 listener.enterTerm(self) 

5858 

5859 def exitRule(self, listener:ParseTreeListener): 

5860 if hasattr( listener, "exitTerm" ): 

5861 listener.exitTerm(self) 

5862 

5863 

5864 

5865 

5866 def term(self): 

5867 

5868 localctx = Python3Parser.TermContext(self, self._ctx, self.state) 

5869 self.enterRule(localctx, 128, self.RULE_term) 

5870 self._la = 0 # Token type 

5871 try: 

5872 self.enterOuterAlt(localctx, 1) 

5873 self.state = 840 

5874 self.factor() 

5875 self.state = 845 

5876 self._errHandler.sync(self) 

5877 _la = self._input.LA(1) 

5878 while ((((_la - 51)) & ~0x3f) == 0 and ((1 << (_la - 51)) & ((1 << (Python3Parser.STAR - 51)) | (1 << (Python3Parser.DIV - 51)) | (1 << (Python3Parser.MOD - 51)) | (1 << (Python3Parser.IDIV - 51)) | (1 << (Python3Parser.AT - 51)))) != 0): 

5879 self.state = 841 

5880 _la = self._input.LA(1) 

5881 if not(((((_la - 51)) & ~0x3f) == 0 and ((1 << (_la - 51)) & ((1 << (Python3Parser.STAR - 51)) | (1 << (Python3Parser.DIV - 51)) | (1 << (Python3Parser.MOD - 51)) | (1 << (Python3Parser.IDIV - 51)) | (1 << (Python3Parser.AT - 51)))) != 0)): 

5882 self._errHandler.recoverInline(self) 

5883 else: 

5884 self._errHandler.reportMatch(self) 

5885 self.consume() 

5886 self.state = 842 

5887 self.factor() 

5888 self.state = 847 

5889 self._errHandler.sync(self) 

5890 _la = self._input.LA(1) 

5891 

5892 except RecognitionException as re: 

5893 localctx.exception = re 

5894 self._errHandler.reportError(self, re) 

5895 self._errHandler.recover(self, re) 

5896 finally: 

5897 self.exitRule() 

5898 return localctx 

5899 

5900 

5901 class FactorContext(ParserRuleContext): 

5902 

5903 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

5904 super().__init__(parent, invokingState) 

5905 self.parser = parser 

5906 

5907 def factor(self): 

5908 return self.getTypedRuleContext(Python3Parser.FactorContext,0) 

5909 

5910 

5911 def ADD(self): 

5912 return self.getToken(Python3Parser.ADD, 0) 

5913 

5914 def MINUS(self): 

5915 return self.getToken(Python3Parser.MINUS, 0) 

5916 

5917 def NOT_OP(self): 

5918 return self.getToken(Python3Parser.NOT_OP, 0) 

5919 

5920 def power(self): 

5921 return self.getTypedRuleContext(Python3Parser.PowerContext,0) 

5922 

5923 

5924 def getRuleIndex(self): 

5925 return Python3Parser.RULE_factor 

5926 

5927 def enterRule(self, listener:ParseTreeListener): 

5928 if hasattr( listener, "enterFactor" ): 

5929 listener.enterFactor(self) 

5930 

5931 def exitRule(self, listener:ParseTreeListener): 

5932 if hasattr( listener, "exitFactor" ): 

5933 listener.exitFactor(self) 

5934 

5935 

5936 

5937 

5938 def factor(self): 

5939 

5940 localctx = Python3Parser.FactorContext(self, self._ctx, self.state) 

5941 self.enterRule(localctx, 130, self.RULE_factor) 

5942 self._la = 0 # Token type 

5943 try: 

5944 self.state = 851 

5945 self._errHandler.sync(self) 

5946 token = self._input.LA(1) 

5947 if token in [Python3Parser.ADD, Python3Parser.MINUS, Python3Parser.NOT_OP]: 

5948 self.enterOuterAlt(localctx, 1) 

5949 self.state = 848 

5950 _la = self._input.LA(1) 

5951 if not(((((_la - 66)) & ~0x3f) == 0 and ((1 << (_la - 66)) & ((1 << (Python3Parser.ADD - 66)) | (1 << (Python3Parser.MINUS - 66)) | (1 << (Python3Parser.NOT_OP - 66)))) != 0)): 

5952 self._errHandler.recoverInline(self) 

5953 else: 

5954 self._errHandler.reportMatch(self) 

5955 self.consume() 

5956 self.state = 849 

5957 self.factor() 

5958 pass 

5959 elif token in [Python3Parser.STRING, Python3Parser.NUMBER, Python3Parser.NONE, Python3Parser.TRUE, Python3Parser.FALSE, Python3Parser.AWAIT, Python3Parser.NAME, Python3Parser.ELLIPSIS, Python3Parser.OPEN_PAREN, Python3Parser.OPEN_BRACK, Python3Parser.OPEN_BRACE]: 

5960 self.enterOuterAlt(localctx, 2) 

5961 self.state = 850 

5962 self.power() 

5963 pass 

5964 else: 

5965 raise NoViableAltException(self) 

5966 

5967 except RecognitionException as re: 

5968 localctx.exception = re 

5969 self._errHandler.reportError(self, re) 

5970 self._errHandler.recover(self, re) 

5971 finally: 

5972 self.exitRule() 

5973 return localctx 

5974 

5975 

5976 class PowerContext(ParserRuleContext): 

5977 

5978 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

5979 super().__init__(parent, invokingState) 

5980 self.parser = parser 

5981 

5982 def atom_expr(self): 

5983 return self.getTypedRuleContext(Python3Parser.Atom_exprContext,0) 

5984 

5985 

5986 def POWER(self): 

5987 return self.getToken(Python3Parser.POWER, 0) 

5988 

5989 def factor(self): 

5990 return self.getTypedRuleContext(Python3Parser.FactorContext,0) 

5991 

5992 

5993 def getRuleIndex(self): 

5994 return Python3Parser.RULE_power 

5995 

5996 def enterRule(self, listener:ParseTreeListener): 

5997 if hasattr( listener, "enterPower" ): 

5998 listener.enterPower(self) 

5999 

6000 def exitRule(self, listener:ParseTreeListener): 

6001 if hasattr( listener, "exitPower" ): 

6002 listener.exitPower(self) 

6003 

6004 

6005 

6006 

6007 def power(self): 

6008 

6009 localctx = Python3Parser.PowerContext(self, self._ctx, self.state) 

6010 self.enterRule(localctx, 132, self.RULE_power) 

6011 self._la = 0 # Token type 

6012 try: 

6013 self.enterOuterAlt(localctx, 1) 

6014 self.state = 853 

6015 self.atom_expr() 

6016 self.state = 856 

6017 self._errHandler.sync(self) 

6018 _la = self._input.LA(1) 

6019 if _la==Python3Parser.POWER: 

6020 self.state = 854 

6021 self.match(Python3Parser.POWER) 

6022 self.state = 855 

6023 self.factor() 

6024 

6025 

6026 except RecognitionException as re: 

6027 localctx.exception = re 

6028 self._errHandler.reportError(self, re) 

6029 self._errHandler.recover(self, re) 

6030 finally: 

6031 self.exitRule() 

6032 return localctx 

6033 

6034 

6035 class Atom_exprContext(ParserRuleContext): 

6036 

6037 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

6038 super().__init__(parent, invokingState) 

6039 self.parser = parser 

6040 

6041 def atom(self): 

6042 return self.getTypedRuleContext(Python3Parser.AtomContext,0) 

6043 

6044 

6045 def AWAIT(self): 

6046 return self.getToken(Python3Parser.AWAIT, 0) 

6047 

6048 def trailer(self, i:int=None): 

6049 if i is None: 

6050 return self.getTypedRuleContexts(Python3Parser.TrailerContext) 

6051 else: 

6052 return self.getTypedRuleContext(Python3Parser.TrailerContext,i) 

6053 

6054 

6055 def getRuleIndex(self): 

6056 return Python3Parser.RULE_atom_expr 

6057 

6058 def enterRule(self, listener:ParseTreeListener): 

6059 if hasattr( listener, "enterAtom_expr" ): 

6060 listener.enterAtom_expr(self) 

6061 

6062 def exitRule(self, listener:ParseTreeListener): 

6063 if hasattr( listener, "exitAtom_expr" ): 

6064 listener.exitAtom_expr(self) 

6065 

6066 

6067 

6068 

6069 def atom_expr(self): 

6070 

6071 localctx = Python3Parser.Atom_exprContext(self, self._ctx, self.state) 

6072 self.enterRule(localctx, 134, self.RULE_atom_expr) 

6073 self._la = 0 # Token type 

6074 try: 

6075 self.enterOuterAlt(localctx, 1) 

6076 self.state = 859 

6077 self._errHandler.sync(self) 

6078 _la = self._input.LA(1) 

6079 if _la==Python3Parser.AWAIT: 

6080 self.state = 858 

6081 self.match(Python3Parser.AWAIT) 

6082 

6083 

6084 self.state = 861 

6085 self.atom() 

6086 self.state = 865 

6087 self._errHandler.sync(self) 

6088 _la = self._input.LA(1) 

6089 while (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << Python3Parser.DOT) | (1 << Python3Parser.OPEN_PAREN) | (1 << Python3Parser.OPEN_BRACK))) != 0): 

6090 self.state = 862 

6091 self.trailer() 

6092 self.state = 867 

6093 self._errHandler.sync(self) 

6094 _la = self._input.LA(1) 

6095 

6096 except RecognitionException as re: 

6097 localctx.exception = re 

6098 self._errHandler.reportError(self, re) 

6099 self._errHandler.recover(self, re) 

6100 finally: 

6101 self.exitRule() 

6102 return localctx 

6103 

6104 

6105 class AtomContext(ParserRuleContext): 

6106 

6107 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

6108 super().__init__(parent, invokingState) 

6109 self.parser = parser 

6110 

6111 def OPEN_PAREN(self): 

6112 return self.getToken(Python3Parser.OPEN_PAREN, 0) 

6113 

6114 def CLOSE_PAREN(self): 

6115 return self.getToken(Python3Parser.CLOSE_PAREN, 0) 

6116 

6117 def OPEN_BRACK(self): 

6118 return self.getToken(Python3Parser.OPEN_BRACK, 0) 

6119 

6120 def CLOSE_BRACK(self): 

6121 return self.getToken(Python3Parser.CLOSE_BRACK, 0) 

6122 

6123 def OPEN_BRACE(self): 

6124 return self.getToken(Python3Parser.OPEN_BRACE, 0) 

6125 

6126 def CLOSE_BRACE(self): 

6127 return self.getToken(Python3Parser.CLOSE_BRACE, 0) 

6128 

6129 def NAME(self): 

6130 return self.getToken(Python3Parser.NAME, 0) 

6131 

6132 def NUMBER(self): 

6133 return self.getToken(Python3Parser.NUMBER, 0) 

6134 

6135 def ELLIPSIS(self): 

6136 return self.getToken(Python3Parser.ELLIPSIS, 0) 

6137 

6138 def NONE(self): 

6139 return self.getToken(Python3Parser.NONE, 0) 

6140 

6141 def TRUE(self): 

6142 return self.getToken(Python3Parser.TRUE, 0) 

6143 

6144 def FALSE(self): 

6145 return self.getToken(Python3Parser.FALSE, 0) 

6146 

6147 def yield_expr(self): 

6148 return self.getTypedRuleContext(Python3Parser.Yield_exprContext,0) 

6149 

6150 

6151 def testlist_comp(self): 

6152 return self.getTypedRuleContext(Python3Parser.Testlist_compContext,0) 

6153 

6154 

6155 def dictorsetmaker(self): 

6156 return self.getTypedRuleContext(Python3Parser.DictorsetmakerContext,0) 

6157 

6158 

6159 def STRING(self, i:int=None): 

6160 if i is None: 

6161 return self.getTokens(Python3Parser.STRING) 

6162 else: 

6163 return self.getToken(Python3Parser.STRING, i) 

6164 

6165 def getRuleIndex(self): 

6166 return Python3Parser.RULE_atom 

6167 

6168 def enterRule(self, listener:ParseTreeListener): 

6169 if hasattr( listener, "enterAtom" ): 

6170 listener.enterAtom(self) 

6171 

6172 def exitRule(self, listener:ParseTreeListener): 

6173 if hasattr( listener, "exitAtom" ): 

6174 listener.exitAtom(self) 

6175 

6176 

6177 

6178 

6179 def atom(self): 

6180 

6181 localctx = Python3Parser.AtomContext(self, self._ctx, self.state) 

6182 self.enterRule(localctx, 136, self.RULE_atom) 

6183 self._la = 0 # Token type 

6184 try: 

6185 self.enterOuterAlt(localctx, 1) 

6186 self.state = 895 

6187 self._errHandler.sync(self) 

6188 token = self._input.LA(1) 

6189 if token in [Python3Parser.OPEN_PAREN]: 

6190 self.state = 868 

6191 self.match(Python3Parser.OPEN_PAREN) 

6192 self.state = 871 

6193 self._errHandler.sync(self) 

6194 token = self._input.LA(1) 

6195 if token in [Python3Parser.YIELD]: 

6196 self.state = 869 

6197 self.yield_expr() 

6198 pass 

6199 elif token in [Python3Parser.STRING, Python3Parser.NUMBER, Python3Parser.LAMBDA, Python3Parser.NOT, Python3Parser.NONE, Python3Parser.TRUE, Python3Parser.FALSE, Python3Parser.AWAIT, Python3Parser.NAME, Python3Parser.ELLIPSIS, Python3Parser.STAR, Python3Parser.OPEN_PAREN, Python3Parser.OPEN_BRACK, Python3Parser.ADD, Python3Parser.MINUS, Python3Parser.NOT_OP, Python3Parser.OPEN_BRACE]: 

6200 self.state = 870 

6201 self.testlist_comp() 

6202 pass 

6203 elif token in [Python3Parser.CLOSE_PAREN]: 

6204 pass 

6205 else: 

6206 pass 

6207 self.state = 873 

6208 self.match(Python3Parser.CLOSE_PAREN) 

6209 pass 

6210 elif token in [Python3Parser.OPEN_BRACK]: 

6211 self.state = 874 

6212 self.match(Python3Parser.OPEN_BRACK) 

6213 self.state = 876 

6214 self._errHandler.sync(self) 

6215 _la = self._input.LA(1) 

6216 if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << Python3Parser.STRING) | (1 << Python3Parser.NUMBER) | (1 << Python3Parser.LAMBDA) | (1 << Python3Parser.NOT) | (1 << Python3Parser.NONE) | (1 << Python3Parser.TRUE) | (1 << Python3Parser.FALSE) | (1 << Python3Parser.AWAIT) | (1 << Python3Parser.NAME) | (1 << Python3Parser.ELLIPSIS) | (1 << Python3Parser.STAR) | (1 << Python3Parser.OPEN_PAREN) | (1 << Python3Parser.OPEN_BRACK))) != 0) or ((((_la - 66)) & ~0x3f) == 0 and ((1 << (_la - 66)) & ((1 << (Python3Parser.ADD - 66)) | (1 << (Python3Parser.MINUS - 66)) | (1 << (Python3Parser.NOT_OP - 66)) | (1 << (Python3Parser.OPEN_BRACE - 66)))) != 0): 

6217 self.state = 875 

6218 self.testlist_comp() 

6219 

6220 

6221 self.state = 878 

6222 self.match(Python3Parser.CLOSE_BRACK) 

6223 pass 

6224 elif token in [Python3Parser.OPEN_BRACE]: 

6225 self.state = 879 

6226 self.match(Python3Parser.OPEN_BRACE) 

6227 self.state = 881 

6228 self._errHandler.sync(self) 

6229 _la = self._input.LA(1) 

6230 if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << Python3Parser.STRING) | (1 << Python3Parser.NUMBER) | (1 << Python3Parser.LAMBDA) | (1 << Python3Parser.NOT) | (1 << Python3Parser.NONE) | (1 << Python3Parser.TRUE) | (1 << Python3Parser.FALSE) | (1 << Python3Parser.AWAIT) | (1 << Python3Parser.NAME) | (1 << Python3Parser.ELLIPSIS) | (1 << Python3Parser.STAR) | (1 << Python3Parser.OPEN_PAREN) | (1 << Python3Parser.POWER) | (1 << Python3Parser.OPEN_BRACK))) != 0) or ((((_la - 66)) & ~0x3f) == 0 and ((1 << (_la - 66)) & ((1 << (Python3Parser.ADD - 66)) | (1 << (Python3Parser.MINUS - 66)) | (1 << (Python3Parser.NOT_OP - 66)) | (1 << (Python3Parser.OPEN_BRACE - 66)))) != 0): 

6231 self.state = 880 

6232 self.dictorsetmaker() 

6233 

6234 

6235 self.state = 883 

6236 self.match(Python3Parser.CLOSE_BRACE) 

6237 pass 

6238 elif token in [Python3Parser.NAME]: 

6239 self.state = 884 

6240 self.match(Python3Parser.NAME) 

6241 pass 

6242 elif token in [Python3Parser.NUMBER]: 

6243 self.state = 885 

6244 self.match(Python3Parser.NUMBER) 

6245 pass 

6246 elif token in [Python3Parser.STRING]: 

6247 self.state = 887 

6248 self._errHandler.sync(self) 

6249 _la = self._input.LA(1) 

6250 while True: 

6251 self.state = 886 

6252 self.match(Python3Parser.STRING) 

6253 self.state = 889 

6254 self._errHandler.sync(self) 

6255 _la = self._input.LA(1) 

6256 if not (_la==Python3Parser.STRING): 

6257 break 

6258 

6259 pass 

6260 elif token in [Python3Parser.ELLIPSIS]: 

6261 self.state = 891 

6262 self.match(Python3Parser.ELLIPSIS) 

6263 pass 

6264 elif token in [Python3Parser.NONE]: 

6265 self.state = 892 

6266 self.match(Python3Parser.NONE) 

6267 pass 

6268 elif token in [Python3Parser.TRUE]: 

6269 self.state = 893 

6270 self.match(Python3Parser.TRUE) 

6271 pass 

6272 elif token in [Python3Parser.FALSE]: 

6273 self.state = 894 

6274 self.match(Python3Parser.FALSE) 

6275 pass 

6276 else: 

6277 raise NoViableAltException(self) 

6278 

6279 except RecognitionException as re: 

6280 localctx.exception = re 

6281 self._errHandler.reportError(self, re) 

6282 self._errHandler.recover(self, re) 

6283 finally: 

6284 self.exitRule() 

6285 return localctx 

6286 

6287 

6288 class Testlist_compContext(ParserRuleContext): 

6289 

6290 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

6291 super().__init__(parent, invokingState) 

6292 self.parser = parser 

6293 

6294 def test(self, i:int=None): 

6295 if i is None: 

6296 return self.getTypedRuleContexts(Python3Parser.TestContext) 

6297 else: 

6298 return self.getTypedRuleContext(Python3Parser.TestContext,i) 

6299 

6300 

6301 def star_expr(self, i:int=None): 

6302 if i is None: 

6303 return self.getTypedRuleContexts(Python3Parser.Star_exprContext) 

6304 else: 

6305 return self.getTypedRuleContext(Python3Parser.Star_exprContext,i) 

6306 

6307 

6308 def comp_for(self): 

6309 return self.getTypedRuleContext(Python3Parser.Comp_forContext,0) 

6310 

6311 

6312 def COMMA(self, i:int=None): 

6313 if i is None: 

6314 return self.getTokens(Python3Parser.COMMA) 

6315 else: 

6316 return self.getToken(Python3Parser.COMMA, i) 

6317 

6318 def getRuleIndex(self): 

6319 return Python3Parser.RULE_testlist_comp 

6320 

6321 def enterRule(self, listener:ParseTreeListener): 

6322 if hasattr( listener, "enterTestlist_comp" ): 

6323 listener.enterTestlist_comp(self) 

6324 

6325 def exitRule(self, listener:ParseTreeListener): 

6326 if hasattr( listener, "exitTestlist_comp" ): 

6327 listener.exitTestlist_comp(self) 

6328 

6329 

6330 

6331 

6332 def testlist_comp(self): 

6333 

6334 localctx = Python3Parser.Testlist_compContext(self, self._ctx, self.state) 

6335 self.enterRule(localctx, 138, self.RULE_testlist_comp) 

6336 self._la = 0 # Token type 

6337 try: 

6338 self.enterOuterAlt(localctx, 1) 

6339 self.state = 899 

6340 self._errHandler.sync(self) 

6341 token = self._input.LA(1) 

6342 if token in [Python3Parser.STRING, Python3Parser.NUMBER, Python3Parser.LAMBDA, Python3Parser.NOT, Python3Parser.NONE, Python3Parser.TRUE, Python3Parser.FALSE, Python3Parser.AWAIT, Python3Parser.NAME, Python3Parser.ELLIPSIS, Python3Parser.OPEN_PAREN, Python3Parser.OPEN_BRACK, Python3Parser.ADD, Python3Parser.MINUS, Python3Parser.NOT_OP, Python3Parser.OPEN_BRACE]: 

6343 self.state = 897 

6344 self.test() 

6345 pass 

6346 elif token in [Python3Parser.STAR]: 

6347 self.state = 898 

6348 self.star_expr() 

6349 pass 

6350 else: 

6351 raise NoViableAltException(self) 

6352 

6353 self.state = 915 

6354 self._errHandler.sync(self) 

6355 token = self._input.LA(1) 

6356 if token in [Python3Parser.FOR, Python3Parser.ASYNC]: 

6357 self.state = 901 

6358 self.comp_for() 

6359 pass 

6360 elif token in [Python3Parser.CLOSE_PAREN, Python3Parser.COMMA, Python3Parser.CLOSE_BRACK]: 

6361 self.state = 909 

6362 self._errHandler.sync(self) 

6363 _alt = self._interp.adaptivePredict(self._input,125,self._ctx) 

6364 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: 

6365 if _alt==1: 

6366 self.state = 902 

6367 self.match(Python3Parser.COMMA) 

6368 self.state = 905 

6369 self._errHandler.sync(self) 

6370 token = self._input.LA(1) 

6371 if token in [Python3Parser.STRING, Python3Parser.NUMBER, Python3Parser.LAMBDA, Python3Parser.NOT, Python3Parser.NONE, Python3Parser.TRUE, Python3Parser.FALSE, Python3Parser.AWAIT, Python3Parser.NAME, Python3Parser.ELLIPSIS, Python3Parser.OPEN_PAREN, Python3Parser.OPEN_BRACK, Python3Parser.ADD, Python3Parser.MINUS, Python3Parser.NOT_OP, Python3Parser.OPEN_BRACE]: 

6372 self.state = 903 

6373 self.test() 

6374 pass 

6375 elif token in [Python3Parser.STAR]: 

6376 self.state = 904 

6377 self.star_expr() 

6378 pass 

6379 else: 

6380 raise NoViableAltException(self) 

6381 

6382 self.state = 911 

6383 self._errHandler.sync(self) 

6384 _alt = self._interp.adaptivePredict(self._input,125,self._ctx) 

6385 

6386 self.state = 913 

6387 self._errHandler.sync(self) 

6388 _la = self._input.LA(1) 

6389 if _la==Python3Parser.COMMA: 

6390 self.state = 912 

6391 self.match(Python3Parser.COMMA) 

6392 

6393 

6394 pass 

6395 else: 

6396 raise NoViableAltException(self) 

6397 

6398 except RecognitionException as re: 

6399 localctx.exception = re 

6400 self._errHandler.reportError(self, re) 

6401 self._errHandler.recover(self, re) 

6402 finally: 

6403 self.exitRule() 

6404 return localctx 

6405 

6406 

6407 class TrailerContext(ParserRuleContext): 

6408 

6409 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

6410 super().__init__(parent, invokingState) 

6411 self.parser = parser 

6412 

6413 def OPEN_PAREN(self): 

6414 return self.getToken(Python3Parser.OPEN_PAREN, 0) 

6415 

6416 def CLOSE_PAREN(self): 

6417 return self.getToken(Python3Parser.CLOSE_PAREN, 0) 

6418 

6419 def arglist(self): 

6420 return self.getTypedRuleContext(Python3Parser.ArglistContext,0) 

6421 

6422 

6423 def OPEN_BRACK(self): 

6424 return self.getToken(Python3Parser.OPEN_BRACK, 0) 

6425 

6426 def subscriptlist(self): 

6427 return self.getTypedRuleContext(Python3Parser.SubscriptlistContext,0) 

6428 

6429 

6430 def CLOSE_BRACK(self): 

6431 return self.getToken(Python3Parser.CLOSE_BRACK, 0) 

6432 

6433 def DOT(self): 

6434 return self.getToken(Python3Parser.DOT, 0) 

6435 

6436 def NAME(self): 

6437 return self.getToken(Python3Parser.NAME, 0) 

6438 

6439 def getRuleIndex(self): 

6440 return Python3Parser.RULE_trailer 

6441 

6442 def enterRule(self, listener:ParseTreeListener): 

6443 if hasattr( listener, "enterTrailer" ): 

6444 listener.enterTrailer(self) 

6445 

6446 def exitRule(self, listener:ParseTreeListener): 

6447 if hasattr( listener, "exitTrailer" ): 

6448 listener.exitTrailer(self) 

6449 

6450 

6451 

6452 

6453 def trailer(self): 

6454 

6455 localctx = Python3Parser.TrailerContext(self, self._ctx, self.state) 

6456 self.enterRule(localctx, 140, self.RULE_trailer) 

6457 self._la = 0 # Token type 

6458 try: 

6459 self.state = 928 

6460 self._errHandler.sync(self) 

6461 token = self._input.LA(1) 

6462 if token in [Python3Parser.OPEN_PAREN]: 

6463 self.enterOuterAlt(localctx, 1) 

6464 self.state = 917 

6465 self.match(Python3Parser.OPEN_PAREN) 

6466 self.state = 919 

6467 self._errHandler.sync(self) 

6468 _la = self._input.LA(1) 

6469 if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << Python3Parser.STRING) | (1 << Python3Parser.NUMBER) | (1 << Python3Parser.LAMBDA) | (1 << Python3Parser.NOT) | (1 << Python3Parser.NONE) | (1 << Python3Parser.TRUE) | (1 << Python3Parser.FALSE) | (1 << Python3Parser.AWAIT) | (1 << Python3Parser.NAME) | (1 << Python3Parser.ELLIPSIS) | (1 << Python3Parser.STAR) | (1 << Python3Parser.OPEN_PAREN) | (1 << Python3Parser.POWER) | (1 << Python3Parser.OPEN_BRACK))) != 0) or ((((_la - 66)) & ~0x3f) == 0 and ((1 << (_la - 66)) & ((1 << (Python3Parser.ADD - 66)) | (1 << (Python3Parser.MINUS - 66)) | (1 << (Python3Parser.NOT_OP - 66)) | (1 << (Python3Parser.OPEN_BRACE - 66)))) != 0): 

6470 self.state = 918 

6471 self.arglist() 

6472 

6473 

6474 self.state = 921 

6475 self.match(Python3Parser.CLOSE_PAREN) 

6476 pass 

6477 elif token in [Python3Parser.OPEN_BRACK]: 

6478 self.enterOuterAlt(localctx, 2) 

6479 self.state = 922 

6480 self.match(Python3Parser.OPEN_BRACK) 

6481 self.state = 923 

6482 self.subscriptlist() 

6483 self.state = 924 

6484 self.match(Python3Parser.CLOSE_BRACK) 

6485 pass 

6486 elif token in [Python3Parser.DOT]: 

6487 self.enterOuterAlt(localctx, 3) 

6488 self.state = 926 

6489 self.match(Python3Parser.DOT) 

6490 self.state = 927 

6491 self.match(Python3Parser.NAME) 

6492 pass 

6493 else: 

6494 raise NoViableAltException(self) 

6495 

6496 except RecognitionException as re: 

6497 localctx.exception = re 

6498 self._errHandler.reportError(self, re) 

6499 self._errHandler.recover(self, re) 

6500 finally: 

6501 self.exitRule() 

6502 return localctx 

6503 

6504 

6505 class SubscriptlistContext(ParserRuleContext): 

6506 

6507 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

6508 super().__init__(parent, invokingState) 

6509 self.parser = parser 

6510 

6511 def subscript(self, i:int=None): 

6512 if i is None: 

6513 return self.getTypedRuleContexts(Python3Parser.SubscriptContext) 

6514 else: 

6515 return self.getTypedRuleContext(Python3Parser.SubscriptContext,i) 

6516 

6517 

6518 def COMMA(self, i:int=None): 

6519 if i is None: 

6520 return self.getTokens(Python3Parser.COMMA) 

6521 else: 

6522 return self.getToken(Python3Parser.COMMA, i) 

6523 

6524 def getRuleIndex(self): 

6525 return Python3Parser.RULE_subscriptlist 

6526 

6527 def enterRule(self, listener:ParseTreeListener): 

6528 if hasattr( listener, "enterSubscriptlist" ): 

6529 listener.enterSubscriptlist(self) 

6530 

6531 def exitRule(self, listener:ParseTreeListener): 

6532 if hasattr( listener, "exitSubscriptlist" ): 

6533 listener.exitSubscriptlist(self) 

6534 

6535 

6536 

6537 

6538 def subscriptlist(self): 

6539 

6540 localctx = Python3Parser.SubscriptlistContext(self, self._ctx, self.state) 

6541 self.enterRule(localctx, 142, self.RULE_subscriptlist) 

6542 self._la = 0 # Token type 

6543 try: 

6544 self.enterOuterAlt(localctx, 1) 

6545 self.state = 930 

6546 self.subscript() 

6547 self.state = 935 

6548 self._errHandler.sync(self) 

6549 _alt = self._interp.adaptivePredict(self._input,130,self._ctx) 

6550 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: 

6551 if _alt==1: 

6552 self.state = 931 

6553 self.match(Python3Parser.COMMA) 

6554 self.state = 932 

6555 self.subscript() 

6556 self.state = 937 

6557 self._errHandler.sync(self) 

6558 _alt = self._interp.adaptivePredict(self._input,130,self._ctx) 

6559 

6560 self.state = 939 

6561 self._errHandler.sync(self) 

6562 _la = self._input.LA(1) 

6563 if _la==Python3Parser.COMMA: 

6564 self.state = 938 

6565 self.match(Python3Parser.COMMA) 

6566 

6567 

6568 except RecognitionException as re: 

6569 localctx.exception = re 

6570 self._errHandler.reportError(self, re) 

6571 self._errHandler.recover(self, re) 

6572 finally: 

6573 self.exitRule() 

6574 return localctx 

6575 

6576 

6577 class SubscriptContext(ParserRuleContext): 

6578 

6579 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

6580 super().__init__(parent, invokingState) 

6581 self.parser = parser 

6582 

6583 def test(self, i:int=None): 

6584 if i is None: 

6585 return self.getTypedRuleContexts(Python3Parser.TestContext) 

6586 else: 

6587 return self.getTypedRuleContext(Python3Parser.TestContext,i) 

6588 

6589 

6590 def COLON(self): 

6591 return self.getToken(Python3Parser.COLON, 0) 

6592 

6593 def sliceop(self): 

6594 return self.getTypedRuleContext(Python3Parser.SliceopContext,0) 

6595 

6596 

6597 def getRuleIndex(self): 

6598 return Python3Parser.RULE_subscript 

6599 

6600 def enterRule(self, listener:ParseTreeListener): 

6601 if hasattr( listener, "enterSubscript" ): 

6602 listener.enterSubscript(self) 

6603 

6604 def exitRule(self, listener:ParseTreeListener): 

6605 if hasattr( listener, "exitSubscript" ): 

6606 listener.exitSubscript(self) 

6607 

6608 

6609 

6610 

6611 def subscript(self): 

6612 

6613 localctx = Python3Parser.SubscriptContext(self, self._ctx, self.state) 

6614 self.enterRule(localctx, 144, self.RULE_subscript) 

6615 self._la = 0 # Token type 

6616 try: 

6617 self.state = 952 

6618 self._errHandler.sync(self) 

6619 la_ = self._interp.adaptivePredict(self._input,135,self._ctx) 

6620 if la_ == 1: 

6621 self.enterOuterAlt(localctx, 1) 

6622 self.state = 941 

6623 self.test() 

6624 pass 

6625 

6626 elif la_ == 2: 

6627 self.enterOuterAlt(localctx, 2) 

6628 self.state = 943 

6629 self._errHandler.sync(self) 

6630 _la = self._input.LA(1) 

6631 if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << Python3Parser.STRING) | (1 << Python3Parser.NUMBER) | (1 << Python3Parser.LAMBDA) | (1 << Python3Parser.NOT) | (1 << Python3Parser.NONE) | (1 << Python3Parser.TRUE) | (1 << Python3Parser.FALSE) | (1 << Python3Parser.AWAIT) | (1 << Python3Parser.NAME) | (1 << Python3Parser.ELLIPSIS) | (1 << Python3Parser.OPEN_PAREN) | (1 << Python3Parser.OPEN_BRACK))) != 0) or ((((_la - 66)) & ~0x3f) == 0 and ((1 << (_la - 66)) & ((1 << (Python3Parser.ADD - 66)) | (1 << (Python3Parser.MINUS - 66)) | (1 << (Python3Parser.NOT_OP - 66)) | (1 << (Python3Parser.OPEN_BRACE - 66)))) != 0): 

6632 self.state = 942 

6633 self.test() 

6634 

6635 

6636 self.state = 945 

6637 self.match(Python3Parser.COLON) 

6638 self.state = 947 

6639 self._errHandler.sync(self) 

6640 _la = self._input.LA(1) 

6641 if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << Python3Parser.STRING) | (1 << Python3Parser.NUMBER) | (1 << Python3Parser.LAMBDA) | (1 << Python3Parser.NOT) | (1 << Python3Parser.NONE) | (1 << Python3Parser.TRUE) | (1 << Python3Parser.FALSE) | (1 << Python3Parser.AWAIT) | (1 << Python3Parser.NAME) | (1 << Python3Parser.ELLIPSIS) | (1 << Python3Parser.OPEN_PAREN) | (1 << Python3Parser.OPEN_BRACK))) != 0) or ((((_la - 66)) & ~0x3f) == 0 and ((1 << (_la - 66)) & ((1 << (Python3Parser.ADD - 66)) | (1 << (Python3Parser.MINUS - 66)) | (1 << (Python3Parser.NOT_OP - 66)) | (1 << (Python3Parser.OPEN_BRACE - 66)))) != 0): 

6642 self.state = 946 

6643 self.test() 

6644 

6645 

6646 self.state = 950 

6647 self._errHandler.sync(self) 

6648 _la = self._input.LA(1) 

6649 if _la==Python3Parser.COLON: 

6650 self.state = 949 

6651 self.sliceop() 

6652 

6653 

6654 pass 

6655 

6656 

6657 except RecognitionException as re: 

6658 localctx.exception = re 

6659 self._errHandler.reportError(self, re) 

6660 self._errHandler.recover(self, re) 

6661 finally: 

6662 self.exitRule() 

6663 return localctx 

6664 

6665 

6666 class SliceopContext(ParserRuleContext): 

6667 

6668 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

6669 super().__init__(parent, invokingState) 

6670 self.parser = parser 

6671 

6672 def COLON(self): 

6673 return self.getToken(Python3Parser.COLON, 0) 

6674 

6675 def test(self): 

6676 return self.getTypedRuleContext(Python3Parser.TestContext,0) 

6677 

6678 

6679 def getRuleIndex(self): 

6680 return Python3Parser.RULE_sliceop 

6681 

6682 def enterRule(self, listener:ParseTreeListener): 

6683 if hasattr( listener, "enterSliceop" ): 

6684 listener.enterSliceop(self) 

6685 

6686 def exitRule(self, listener:ParseTreeListener): 

6687 if hasattr( listener, "exitSliceop" ): 

6688 listener.exitSliceop(self) 

6689 

6690 

6691 

6692 

6693 def sliceop(self): 

6694 

6695 localctx = Python3Parser.SliceopContext(self, self._ctx, self.state) 

6696 self.enterRule(localctx, 146, self.RULE_sliceop) 

6697 self._la = 0 # Token type 

6698 try: 

6699 self.enterOuterAlt(localctx, 1) 

6700 self.state = 954 

6701 self.match(Python3Parser.COLON) 

6702 self.state = 956 

6703 self._errHandler.sync(self) 

6704 _la = self._input.LA(1) 

6705 if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << Python3Parser.STRING) | (1 << Python3Parser.NUMBER) | (1 << Python3Parser.LAMBDA) | (1 << Python3Parser.NOT) | (1 << Python3Parser.NONE) | (1 << Python3Parser.TRUE) | (1 << Python3Parser.FALSE) | (1 << Python3Parser.AWAIT) | (1 << Python3Parser.NAME) | (1 << Python3Parser.ELLIPSIS) | (1 << Python3Parser.OPEN_PAREN) | (1 << Python3Parser.OPEN_BRACK))) != 0) or ((((_la - 66)) & ~0x3f) == 0 and ((1 << (_la - 66)) & ((1 << (Python3Parser.ADD - 66)) | (1 << (Python3Parser.MINUS - 66)) | (1 << (Python3Parser.NOT_OP - 66)) | (1 << (Python3Parser.OPEN_BRACE - 66)))) != 0): 

6706 self.state = 955 

6707 self.test() 

6708 

6709 

6710 except RecognitionException as re: 

6711 localctx.exception = re 

6712 self._errHandler.reportError(self, re) 

6713 self._errHandler.recover(self, re) 

6714 finally: 

6715 self.exitRule() 

6716 return localctx 

6717 

6718 

6719 class ExprlistContext(ParserRuleContext): 

6720 

6721 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

6722 super().__init__(parent, invokingState) 

6723 self.parser = parser 

6724 

6725 def expr(self, i:int=None): 

6726 if i is None: 

6727 return self.getTypedRuleContexts(Python3Parser.ExprContext) 

6728 else: 

6729 return self.getTypedRuleContext(Python3Parser.ExprContext,i) 

6730 

6731 

6732 def star_expr(self, i:int=None): 

6733 if i is None: 

6734 return self.getTypedRuleContexts(Python3Parser.Star_exprContext) 

6735 else: 

6736 return self.getTypedRuleContext(Python3Parser.Star_exprContext,i) 

6737 

6738 

6739 def COMMA(self, i:int=None): 

6740 if i is None: 

6741 return self.getTokens(Python3Parser.COMMA) 

6742 else: 

6743 return self.getToken(Python3Parser.COMMA, i) 

6744 

6745 def getRuleIndex(self): 

6746 return Python3Parser.RULE_exprlist 

6747 

6748 def enterRule(self, listener:ParseTreeListener): 

6749 if hasattr( listener, "enterExprlist" ): 

6750 listener.enterExprlist(self) 

6751 

6752 def exitRule(self, listener:ParseTreeListener): 

6753 if hasattr( listener, "exitExprlist" ): 

6754 listener.exitExprlist(self) 

6755 

6756 

6757 

6758 

6759 def exprlist(self): 

6760 

6761 localctx = Python3Parser.ExprlistContext(self, self._ctx, self.state) 

6762 self.enterRule(localctx, 148, self.RULE_exprlist) 

6763 self._la = 0 # Token type 

6764 try: 

6765 self.enterOuterAlt(localctx, 1) 

6766 self.state = 960 

6767 self._errHandler.sync(self) 

6768 token = self._input.LA(1) 

6769 if token in [Python3Parser.STRING, Python3Parser.NUMBER, Python3Parser.NONE, Python3Parser.TRUE, Python3Parser.FALSE, Python3Parser.AWAIT, Python3Parser.NAME, Python3Parser.ELLIPSIS, Python3Parser.OPEN_PAREN, Python3Parser.OPEN_BRACK, Python3Parser.ADD, Python3Parser.MINUS, Python3Parser.NOT_OP, Python3Parser.OPEN_BRACE]: 

6770 self.state = 958 

6771 self.expr() 

6772 pass 

6773 elif token in [Python3Parser.STAR]: 

6774 self.state = 959 

6775 self.star_expr() 

6776 pass 

6777 else: 

6778 raise NoViableAltException(self) 

6779 

6780 self.state = 969 

6781 self._errHandler.sync(self) 

6782 _alt = self._interp.adaptivePredict(self._input,139,self._ctx) 

6783 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: 

6784 if _alt==1: 

6785 self.state = 962 

6786 self.match(Python3Parser.COMMA) 

6787 self.state = 965 

6788 self._errHandler.sync(self) 

6789 token = self._input.LA(1) 

6790 if token in [Python3Parser.STRING, Python3Parser.NUMBER, Python3Parser.NONE, Python3Parser.TRUE, Python3Parser.FALSE, Python3Parser.AWAIT, Python3Parser.NAME, Python3Parser.ELLIPSIS, Python3Parser.OPEN_PAREN, Python3Parser.OPEN_BRACK, Python3Parser.ADD, Python3Parser.MINUS, Python3Parser.NOT_OP, Python3Parser.OPEN_BRACE]: 

6791 self.state = 963 

6792 self.expr() 

6793 pass 

6794 elif token in [Python3Parser.STAR]: 

6795 self.state = 964 

6796 self.star_expr() 

6797 pass 

6798 else: 

6799 raise NoViableAltException(self) 

6800 

6801 self.state = 971 

6802 self._errHandler.sync(self) 

6803 _alt = self._interp.adaptivePredict(self._input,139,self._ctx) 

6804 

6805 self.state = 973 

6806 self._errHandler.sync(self) 

6807 _la = self._input.LA(1) 

6808 if _la==Python3Parser.COMMA: 

6809 self.state = 972 

6810 self.match(Python3Parser.COMMA) 

6811 

6812 

6813 except RecognitionException as re: 

6814 localctx.exception = re 

6815 self._errHandler.reportError(self, re) 

6816 self._errHandler.recover(self, re) 

6817 finally: 

6818 self.exitRule() 

6819 return localctx 

6820 

6821 

6822 class TestlistContext(ParserRuleContext): 

6823 

6824 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

6825 super().__init__(parent, invokingState) 

6826 self.parser = parser 

6827 

6828 def test(self, i:int=None): 

6829 if i is None: 

6830 return self.getTypedRuleContexts(Python3Parser.TestContext) 

6831 else: 

6832 return self.getTypedRuleContext(Python3Parser.TestContext,i) 

6833 

6834 

6835 def COMMA(self, i:int=None): 

6836 if i is None: 

6837 return self.getTokens(Python3Parser.COMMA) 

6838 else: 

6839 return self.getToken(Python3Parser.COMMA, i) 

6840 

6841 def getRuleIndex(self): 

6842 return Python3Parser.RULE_testlist 

6843 

6844 def enterRule(self, listener:ParseTreeListener): 

6845 if hasattr( listener, "enterTestlist" ): 

6846 listener.enterTestlist(self) 

6847 

6848 def exitRule(self, listener:ParseTreeListener): 

6849 if hasattr( listener, "exitTestlist" ): 

6850 listener.exitTestlist(self) 

6851 

6852 

6853 

6854 

6855 def testlist(self): 

6856 

6857 localctx = Python3Parser.TestlistContext(self, self._ctx, self.state) 

6858 self.enterRule(localctx, 150, self.RULE_testlist) 

6859 self._la = 0 # Token type 

6860 try: 

6861 self.enterOuterAlt(localctx, 1) 

6862 self.state = 975 

6863 self.test() 

6864 self.state = 980 

6865 self._errHandler.sync(self) 

6866 _alt = self._interp.adaptivePredict(self._input,141,self._ctx) 

6867 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: 

6868 if _alt==1: 

6869 self.state = 976 

6870 self.match(Python3Parser.COMMA) 

6871 self.state = 977 

6872 self.test() 

6873 self.state = 982 

6874 self._errHandler.sync(self) 

6875 _alt = self._interp.adaptivePredict(self._input,141,self._ctx) 

6876 

6877 self.state = 984 

6878 self._errHandler.sync(self) 

6879 _la = self._input.LA(1) 

6880 if _la==Python3Parser.COMMA: 

6881 self.state = 983 

6882 self.match(Python3Parser.COMMA) 

6883 

6884 

6885 except RecognitionException as re: 

6886 localctx.exception = re 

6887 self._errHandler.reportError(self, re) 

6888 self._errHandler.recover(self, re) 

6889 finally: 

6890 self.exitRule() 

6891 return localctx 

6892 

6893 

6894 class DictorsetmakerContext(ParserRuleContext): 

6895 

6896 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

6897 super().__init__(parent, invokingState) 

6898 self.parser = parser 

6899 

6900 def test(self, i:int=None): 

6901 if i is None: 

6902 return self.getTypedRuleContexts(Python3Parser.TestContext) 

6903 else: 

6904 return self.getTypedRuleContext(Python3Parser.TestContext,i) 

6905 

6906 

6907 def COLON(self, i:int=None): 

6908 if i is None: 

6909 return self.getTokens(Python3Parser.COLON) 

6910 else: 

6911 return self.getToken(Python3Parser.COLON, i) 

6912 

6913 def POWER(self, i:int=None): 

6914 if i is None: 

6915 return self.getTokens(Python3Parser.POWER) 

6916 else: 

6917 return self.getToken(Python3Parser.POWER, i) 

6918 

6919 def expr(self, i:int=None): 

6920 if i is None: 

6921 return self.getTypedRuleContexts(Python3Parser.ExprContext) 

6922 else: 

6923 return self.getTypedRuleContext(Python3Parser.ExprContext,i) 

6924 

6925 

6926 def comp_for(self): 

6927 return self.getTypedRuleContext(Python3Parser.Comp_forContext,0) 

6928 

6929 

6930 def star_expr(self, i:int=None): 

6931 if i is None: 

6932 return self.getTypedRuleContexts(Python3Parser.Star_exprContext) 

6933 else: 

6934 return self.getTypedRuleContext(Python3Parser.Star_exprContext,i) 

6935 

6936 

6937 def COMMA(self, i:int=None): 

6938 if i is None: 

6939 return self.getTokens(Python3Parser.COMMA) 

6940 else: 

6941 return self.getToken(Python3Parser.COMMA, i) 

6942 

6943 def getRuleIndex(self): 

6944 return Python3Parser.RULE_dictorsetmaker 

6945 

6946 def enterRule(self, listener:ParseTreeListener): 

6947 if hasattr( listener, "enterDictorsetmaker" ): 

6948 listener.enterDictorsetmaker(self) 

6949 

6950 def exitRule(self, listener:ParseTreeListener): 

6951 if hasattr( listener, "exitDictorsetmaker" ): 

6952 listener.exitDictorsetmaker(self) 

6953 

6954 

6955 

6956 

6957 def dictorsetmaker(self): 

6958 

6959 localctx = Python3Parser.DictorsetmakerContext(self, self._ctx, self.state) 

6960 self.enterRule(localctx, 152, self.RULE_dictorsetmaker) 

6961 self._la = 0 # Token type 

6962 try: 

6963 self.enterOuterAlt(localctx, 1) 

6964 self.state = 1034 

6965 self._errHandler.sync(self) 

6966 la_ = self._interp.adaptivePredict(self._input,153,self._ctx) 

6967 if la_ == 1: 

6968 self.state = 992 

6969 self._errHandler.sync(self) 

6970 token = self._input.LA(1) 

6971 if token in [Python3Parser.STRING, Python3Parser.NUMBER, Python3Parser.LAMBDA, Python3Parser.NOT, Python3Parser.NONE, Python3Parser.TRUE, Python3Parser.FALSE, Python3Parser.AWAIT, Python3Parser.NAME, Python3Parser.ELLIPSIS, Python3Parser.OPEN_PAREN, Python3Parser.OPEN_BRACK, Python3Parser.ADD, Python3Parser.MINUS, Python3Parser.NOT_OP, Python3Parser.OPEN_BRACE]: 

6972 self.state = 986 

6973 self.test() 

6974 self.state = 987 

6975 self.match(Python3Parser.COLON) 

6976 self.state = 988 

6977 self.test() 

6978 pass 

6979 elif token in [Python3Parser.POWER]: 

6980 self.state = 990 

6981 self.match(Python3Parser.POWER) 

6982 self.state = 991 

6983 self.expr() 

6984 pass 

6985 else: 

6986 raise NoViableAltException(self) 

6987 

6988 self.state = 1012 

6989 self._errHandler.sync(self) 

6990 token = self._input.LA(1) 

6991 if token in [Python3Parser.FOR, Python3Parser.ASYNC]: 

6992 self.state = 994 

6993 self.comp_for() 

6994 pass 

6995 elif token in [Python3Parser.COMMA, Python3Parser.CLOSE_BRACE]: 

6996 self.state = 1006 

6997 self._errHandler.sync(self) 

6998 _alt = self._interp.adaptivePredict(self._input,145,self._ctx) 

6999 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: 

7000 if _alt==1: 

7001 self.state = 995 

7002 self.match(Python3Parser.COMMA) 

7003 self.state = 1002 

7004 self._errHandler.sync(self) 

7005 token = self._input.LA(1) 

7006 if token in [Python3Parser.STRING, Python3Parser.NUMBER, Python3Parser.LAMBDA, Python3Parser.NOT, Python3Parser.NONE, Python3Parser.TRUE, Python3Parser.FALSE, Python3Parser.AWAIT, Python3Parser.NAME, Python3Parser.ELLIPSIS, Python3Parser.OPEN_PAREN, Python3Parser.OPEN_BRACK, Python3Parser.ADD, Python3Parser.MINUS, Python3Parser.NOT_OP, Python3Parser.OPEN_BRACE]: 

7007 self.state = 996 

7008 self.test() 

7009 self.state = 997 

7010 self.match(Python3Parser.COLON) 

7011 self.state = 998 

7012 self.test() 

7013 pass 

7014 elif token in [Python3Parser.POWER]: 

7015 self.state = 1000 

7016 self.match(Python3Parser.POWER) 

7017 self.state = 1001 

7018 self.expr() 

7019 pass 

7020 else: 

7021 raise NoViableAltException(self) 

7022 

7023 self.state = 1008 

7024 self._errHandler.sync(self) 

7025 _alt = self._interp.adaptivePredict(self._input,145,self._ctx) 

7026 

7027 self.state = 1010 

7028 self._errHandler.sync(self) 

7029 _la = self._input.LA(1) 

7030 if _la==Python3Parser.COMMA: 

7031 self.state = 1009 

7032 self.match(Python3Parser.COMMA) 

7033 

7034 

7035 pass 

7036 else: 

7037 raise NoViableAltException(self) 

7038 

7039 pass 

7040 

7041 elif la_ == 2: 

7042 self.state = 1016 

7043 self._errHandler.sync(self) 

7044 token = self._input.LA(1) 

7045 if token in [Python3Parser.STRING, Python3Parser.NUMBER, Python3Parser.LAMBDA, Python3Parser.NOT, Python3Parser.NONE, Python3Parser.TRUE, Python3Parser.FALSE, Python3Parser.AWAIT, Python3Parser.NAME, Python3Parser.ELLIPSIS, Python3Parser.OPEN_PAREN, Python3Parser.OPEN_BRACK, Python3Parser.ADD, Python3Parser.MINUS, Python3Parser.NOT_OP, Python3Parser.OPEN_BRACE]: 

7046 self.state = 1014 

7047 self.test() 

7048 pass 

7049 elif token in [Python3Parser.STAR]: 

7050 self.state = 1015 

7051 self.star_expr() 

7052 pass 

7053 else: 

7054 raise NoViableAltException(self) 

7055 

7056 self.state = 1032 

7057 self._errHandler.sync(self) 

7058 token = self._input.LA(1) 

7059 if token in [Python3Parser.FOR, Python3Parser.ASYNC]: 

7060 self.state = 1018 

7061 self.comp_for() 

7062 pass 

7063 elif token in [Python3Parser.COMMA, Python3Parser.CLOSE_BRACE]: 

7064 self.state = 1026 

7065 self._errHandler.sync(self) 

7066 _alt = self._interp.adaptivePredict(self._input,150,self._ctx) 

7067 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: 

7068 if _alt==1: 

7069 self.state = 1019 

7070 self.match(Python3Parser.COMMA) 

7071 self.state = 1022 

7072 self._errHandler.sync(self) 

7073 token = self._input.LA(1) 

7074 if token in [Python3Parser.STRING, Python3Parser.NUMBER, Python3Parser.LAMBDA, Python3Parser.NOT, Python3Parser.NONE, Python3Parser.TRUE, Python3Parser.FALSE, Python3Parser.AWAIT, Python3Parser.NAME, Python3Parser.ELLIPSIS, Python3Parser.OPEN_PAREN, Python3Parser.OPEN_BRACK, Python3Parser.ADD, Python3Parser.MINUS, Python3Parser.NOT_OP, Python3Parser.OPEN_BRACE]: 

7075 self.state = 1020 

7076 self.test() 

7077 pass 

7078 elif token in [Python3Parser.STAR]: 

7079 self.state = 1021 

7080 self.star_expr() 

7081 pass 

7082 else: 

7083 raise NoViableAltException(self) 

7084 

7085 self.state = 1028 

7086 self._errHandler.sync(self) 

7087 _alt = self._interp.adaptivePredict(self._input,150,self._ctx) 

7088 

7089 self.state = 1030 

7090 self._errHandler.sync(self) 

7091 _la = self._input.LA(1) 

7092 if _la==Python3Parser.COMMA: 

7093 self.state = 1029 

7094 self.match(Python3Parser.COMMA) 

7095 

7096 

7097 pass 

7098 else: 

7099 raise NoViableAltException(self) 

7100 

7101 pass 

7102 

7103 

7104 except RecognitionException as re: 

7105 localctx.exception = re 

7106 self._errHandler.reportError(self, re) 

7107 self._errHandler.recover(self, re) 

7108 finally: 

7109 self.exitRule() 

7110 return localctx 

7111 

7112 

7113 class ClassdefContext(ParserRuleContext): 

7114 

7115 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

7116 super().__init__(parent, invokingState) 

7117 self.parser = parser 

7118 

7119 def CLASS(self): 

7120 return self.getToken(Python3Parser.CLASS, 0) 

7121 

7122 def NAME(self): 

7123 return self.getToken(Python3Parser.NAME, 0) 

7124 

7125 def COLON(self): 

7126 return self.getToken(Python3Parser.COLON, 0) 

7127 

7128 def suite(self): 

7129 return self.getTypedRuleContext(Python3Parser.SuiteContext,0) 

7130 

7131 

7132 def OPEN_PAREN(self): 

7133 return self.getToken(Python3Parser.OPEN_PAREN, 0) 

7134 

7135 def CLOSE_PAREN(self): 

7136 return self.getToken(Python3Parser.CLOSE_PAREN, 0) 

7137 

7138 def arglist(self): 

7139 return self.getTypedRuleContext(Python3Parser.ArglistContext,0) 

7140 

7141 

7142 def getRuleIndex(self): 

7143 return Python3Parser.RULE_classdef 

7144 

7145 def enterRule(self, listener:ParseTreeListener): 

7146 if hasattr( listener, "enterClassdef" ): 

7147 listener.enterClassdef(self) 

7148 

7149 def exitRule(self, listener:ParseTreeListener): 

7150 if hasattr( listener, "exitClassdef" ): 

7151 listener.exitClassdef(self) 

7152 

7153 

7154 

7155 

7156 def classdef(self): 

7157 

7158 localctx = Python3Parser.ClassdefContext(self, self._ctx, self.state) 

7159 self.enterRule(localctx, 154, self.RULE_classdef) 

7160 self._la = 0 # Token type 

7161 try: 

7162 self.enterOuterAlt(localctx, 1) 

7163 self.state = 1036 

7164 self.match(Python3Parser.CLASS) 

7165 self.state = 1037 

7166 self.match(Python3Parser.NAME) 

7167 self.state = 1043 

7168 self._errHandler.sync(self) 

7169 _la = self._input.LA(1) 

7170 if _la==Python3Parser.OPEN_PAREN: 

7171 self.state = 1038 

7172 self.match(Python3Parser.OPEN_PAREN) 

7173 self.state = 1040 

7174 self._errHandler.sync(self) 

7175 _la = self._input.LA(1) 

7176 if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << Python3Parser.STRING) | (1 << Python3Parser.NUMBER) | (1 << Python3Parser.LAMBDA) | (1 << Python3Parser.NOT) | (1 << Python3Parser.NONE) | (1 << Python3Parser.TRUE) | (1 << Python3Parser.FALSE) | (1 << Python3Parser.AWAIT) | (1 << Python3Parser.NAME) | (1 << Python3Parser.ELLIPSIS) | (1 << Python3Parser.STAR) | (1 << Python3Parser.OPEN_PAREN) | (1 << Python3Parser.POWER) | (1 << Python3Parser.OPEN_BRACK))) != 0) or ((((_la - 66)) & ~0x3f) == 0 and ((1 << (_la - 66)) & ((1 << (Python3Parser.ADD - 66)) | (1 << (Python3Parser.MINUS - 66)) | (1 << (Python3Parser.NOT_OP - 66)) | (1 << (Python3Parser.OPEN_BRACE - 66)))) != 0): 

7177 self.state = 1039 

7178 self.arglist() 

7179 

7180 

7181 self.state = 1042 

7182 self.match(Python3Parser.CLOSE_PAREN) 

7183 

7184 

7185 self.state = 1045 

7186 self.match(Python3Parser.COLON) 

7187 self.state = 1046 

7188 self.suite() 

7189 except RecognitionException as re: 

7190 localctx.exception = re 

7191 self._errHandler.reportError(self, re) 

7192 self._errHandler.recover(self, re) 

7193 finally: 

7194 self.exitRule() 

7195 return localctx 

7196 

7197 

7198 class ArglistContext(ParserRuleContext): 

7199 

7200 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

7201 super().__init__(parent, invokingState) 

7202 self.parser = parser 

7203 

7204 def argument(self, i:int=None): 

7205 if i is None: 

7206 return self.getTypedRuleContexts(Python3Parser.ArgumentContext) 

7207 else: 

7208 return self.getTypedRuleContext(Python3Parser.ArgumentContext,i) 

7209 

7210 

7211 def COMMA(self, i:int=None): 

7212 if i is None: 

7213 return self.getTokens(Python3Parser.COMMA) 

7214 else: 

7215 return self.getToken(Python3Parser.COMMA, i) 

7216 

7217 def getRuleIndex(self): 

7218 return Python3Parser.RULE_arglist 

7219 

7220 def enterRule(self, listener:ParseTreeListener): 

7221 if hasattr( listener, "enterArglist" ): 

7222 listener.enterArglist(self) 

7223 

7224 def exitRule(self, listener:ParseTreeListener): 

7225 if hasattr( listener, "exitArglist" ): 

7226 listener.exitArglist(self) 

7227 

7228 

7229 

7230 

7231 def arglist(self): 

7232 

7233 localctx = Python3Parser.ArglistContext(self, self._ctx, self.state) 

7234 self.enterRule(localctx, 156, self.RULE_arglist) 

7235 self._la = 0 # Token type 

7236 try: 

7237 self.enterOuterAlt(localctx, 1) 

7238 self.state = 1048 

7239 self.argument() 

7240 self.state = 1053 

7241 self._errHandler.sync(self) 

7242 _alt = self._interp.adaptivePredict(self._input,156,self._ctx) 

7243 while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: 

7244 if _alt==1: 

7245 self.state = 1049 

7246 self.match(Python3Parser.COMMA) 

7247 self.state = 1050 

7248 self.argument() 

7249 self.state = 1055 

7250 self._errHandler.sync(self) 

7251 _alt = self._interp.adaptivePredict(self._input,156,self._ctx) 

7252 

7253 self.state = 1057 

7254 self._errHandler.sync(self) 

7255 _la = self._input.LA(1) 

7256 if _la==Python3Parser.COMMA: 

7257 self.state = 1056 

7258 self.match(Python3Parser.COMMA) 

7259 

7260 

7261 except RecognitionException as re: 

7262 localctx.exception = re 

7263 self._errHandler.reportError(self, re) 

7264 self._errHandler.recover(self, re) 

7265 finally: 

7266 self.exitRule() 

7267 return localctx 

7268 

7269 

7270 class ArgumentContext(ParserRuleContext): 

7271 

7272 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

7273 super().__init__(parent, invokingState) 

7274 self.parser = parser 

7275 

7276 def test(self, i:int=None): 

7277 if i is None: 

7278 return self.getTypedRuleContexts(Python3Parser.TestContext) 

7279 else: 

7280 return self.getTypedRuleContext(Python3Parser.TestContext,i) 

7281 

7282 

7283 def ASSIGN(self): 

7284 return self.getToken(Python3Parser.ASSIGN, 0) 

7285 

7286 def POWER(self): 

7287 return self.getToken(Python3Parser.POWER, 0) 

7288 

7289 def STAR(self): 

7290 return self.getToken(Python3Parser.STAR, 0) 

7291 

7292 def comp_for(self): 

7293 return self.getTypedRuleContext(Python3Parser.Comp_forContext,0) 

7294 

7295 

7296 def getRuleIndex(self): 

7297 return Python3Parser.RULE_argument 

7298 

7299 def enterRule(self, listener:ParseTreeListener): 

7300 if hasattr( listener, "enterArgument" ): 

7301 listener.enterArgument(self) 

7302 

7303 def exitRule(self, listener:ParseTreeListener): 

7304 if hasattr( listener, "exitArgument" ): 

7305 listener.exitArgument(self) 

7306 

7307 

7308 

7309 

7310 def argument(self): 

7311 

7312 localctx = Python3Parser.ArgumentContext(self, self._ctx, self.state) 

7313 self.enterRule(localctx, 158, self.RULE_argument) 

7314 self._la = 0 # Token type 

7315 try: 

7316 self.enterOuterAlt(localctx, 1) 

7317 self.state = 1071 

7318 self._errHandler.sync(self) 

7319 la_ = self._interp.adaptivePredict(self._input,159,self._ctx) 

7320 if la_ == 1: 

7321 self.state = 1059 

7322 self.test() 

7323 self.state = 1061 

7324 self._errHandler.sync(self) 

7325 _la = self._input.LA(1) 

7326 if _la==Python3Parser.FOR or _la==Python3Parser.ASYNC: 

7327 self.state = 1060 

7328 self.comp_for() 

7329 

7330 

7331 pass 

7332 

7333 elif la_ == 2: 

7334 self.state = 1063 

7335 self.test() 

7336 self.state = 1064 

7337 self.match(Python3Parser.ASSIGN) 

7338 self.state = 1065 

7339 self.test() 

7340 pass 

7341 

7342 elif la_ == 3: 

7343 self.state = 1067 

7344 self.match(Python3Parser.POWER) 

7345 self.state = 1068 

7346 self.test() 

7347 pass 

7348 

7349 elif la_ == 4: 

7350 self.state = 1069 

7351 self.match(Python3Parser.STAR) 

7352 self.state = 1070 

7353 self.test() 

7354 pass 

7355 

7356 

7357 except RecognitionException as re: 

7358 localctx.exception = re 

7359 self._errHandler.reportError(self, re) 

7360 self._errHandler.recover(self, re) 

7361 finally: 

7362 self.exitRule() 

7363 return localctx 

7364 

7365 

7366 class Comp_iterContext(ParserRuleContext): 

7367 

7368 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

7369 super().__init__(parent, invokingState) 

7370 self.parser = parser 

7371 

7372 def comp_for(self): 

7373 return self.getTypedRuleContext(Python3Parser.Comp_forContext,0) 

7374 

7375 

7376 def comp_if(self): 

7377 return self.getTypedRuleContext(Python3Parser.Comp_ifContext,0) 

7378 

7379 

7380 def getRuleIndex(self): 

7381 return Python3Parser.RULE_comp_iter 

7382 

7383 def enterRule(self, listener:ParseTreeListener): 

7384 if hasattr( listener, "enterComp_iter" ): 

7385 listener.enterComp_iter(self) 

7386 

7387 def exitRule(self, listener:ParseTreeListener): 

7388 if hasattr( listener, "exitComp_iter" ): 

7389 listener.exitComp_iter(self) 

7390 

7391 

7392 

7393 

7394 def comp_iter(self): 

7395 

7396 localctx = Python3Parser.Comp_iterContext(self, self._ctx, self.state) 

7397 self.enterRule(localctx, 160, self.RULE_comp_iter) 

7398 try: 

7399 self.state = 1075 

7400 self._errHandler.sync(self) 

7401 token = self._input.LA(1) 

7402 if token in [Python3Parser.FOR, Python3Parser.ASYNC]: 

7403 self.enterOuterAlt(localctx, 1) 

7404 self.state = 1073 

7405 self.comp_for() 

7406 pass 

7407 elif token in [Python3Parser.IF]: 

7408 self.enterOuterAlt(localctx, 2) 

7409 self.state = 1074 

7410 self.comp_if() 

7411 pass 

7412 else: 

7413 raise NoViableAltException(self) 

7414 

7415 except RecognitionException as re: 

7416 localctx.exception = re 

7417 self._errHandler.reportError(self, re) 

7418 self._errHandler.recover(self, re) 

7419 finally: 

7420 self.exitRule() 

7421 return localctx 

7422 

7423 

7424 class Comp_forContext(ParserRuleContext): 

7425 

7426 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

7427 super().__init__(parent, invokingState) 

7428 self.parser = parser 

7429 

7430 def FOR(self): 

7431 return self.getToken(Python3Parser.FOR, 0) 

7432 

7433 def exprlist(self): 

7434 return self.getTypedRuleContext(Python3Parser.ExprlistContext,0) 

7435 

7436 

7437 def IN(self): 

7438 return self.getToken(Python3Parser.IN, 0) 

7439 

7440 def or_test(self): 

7441 return self.getTypedRuleContext(Python3Parser.Or_testContext,0) 

7442 

7443 

7444 def ASYNC(self): 

7445 return self.getToken(Python3Parser.ASYNC, 0) 

7446 

7447 def comp_iter(self): 

7448 return self.getTypedRuleContext(Python3Parser.Comp_iterContext,0) 

7449 

7450 

7451 def getRuleIndex(self): 

7452 return Python3Parser.RULE_comp_for 

7453 

7454 def enterRule(self, listener:ParseTreeListener): 

7455 if hasattr( listener, "enterComp_for" ): 

7456 listener.enterComp_for(self) 

7457 

7458 def exitRule(self, listener:ParseTreeListener): 

7459 if hasattr( listener, "exitComp_for" ): 

7460 listener.exitComp_for(self) 

7461 

7462 

7463 

7464 

7465 def comp_for(self): 

7466 

7467 localctx = Python3Parser.Comp_forContext(self, self._ctx, self.state) 

7468 self.enterRule(localctx, 162, self.RULE_comp_for) 

7469 self._la = 0 # Token type 

7470 try: 

7471 self.enterOuterAlt(localctx, 1) 

7472 self.state = 1078 

7473 self._errHandler.sync(self) 

7474 _la = self._input.LA(1) 

7475 if _la==Python3Parser.ASYNC: 

7476 self.state = 1077 

7477 self.match(Python3Parser.ASYNC) 

7478 

7479 

7480 self.state = 1080 

7481 self.match(Python3Parser.FOR) 

7482 self.state = 1081 

7483 self.exprlist() 

7484 self.state = 1082 

7485 self.match(Python3Parser.IN) 

7486 self.state = 1083 

7487 self.or_test() 

7488 self.state = 1085 

7489 self._errHandler.sync(self) 

7490 _la = self._input.LA(1) 

7491 if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << Python3Parser.IF) | (1 << Python3Parser.FOR) | (1 << Python3Parser.ASYNC))) != 0): 

7492 self.state = 1084 

7493 self.comp_iter() 

7494 

7495 

7496 except RecognitionException as re: 

7497 localctx.exception = re 

7498 self._errHandler.reportError(self, re) 

7499 self._errHandler.recover(self, re) 

7500 finally: 

7501 self.exitRule() 

7502 return localctx 

7503 

7504 

7505 class Comp_ifContext(ParserRuleContext): 

7506 

7507 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

7508 super().__init__(parent, invokingState) 

7509 self.parser = parser 

7510 

7511 def IF(self): 

7512 return self.getToken(Python3Parser.IF, 0) 

7513 

7514 def test_nocond(self): 

7515 return self.getTypedRuleContext(Python3Parser.Test_nocondContext,0) 

7516 

7517 

7518 def comp_iter(self): 

7519 return self.getTypedRuleContext(Python3Parser.Comp_iterContext,0) 

7520 

7521 

7522 def getRuleIndex(self): 

7523 return Python3Parser.RULE_comp_if 

7524 

7525 def enterRule(self, listener:ParseTreeListener): 

7526 if hasattr( listener, "enterComp_if" ): 

7527 listener.enterComp_if(self) 

7528 

7529 def exitRule(self, listener:ParseTreeListener): 

7530 if hasattr( listener, "exitComp_if" ): 

7531 listener.exitComp_if(self) 

7532 

7533 

7534 

7535 

7536 def comp_if(self): 

7537 

7538 localctx = Python3Parser.Comp_ifContext(self, self._ctx, self.state) 

7539 self.enterRule(localctx, 164, self.RULE_comp_if) 

7540 self._la = 0 # Token type 

7541 try: 

7542 self.enterOuterAlt(localctx, 1) 

7543 self.state = 1087 

7544 self.match(Python3Parser.IF) 

7545 self.state = 1088 

7546 self.test_nocond() 

7547 self.state = 1090 

7548 self._errHandler.sync(self) 

7549 _la = self._input.LA(1) 

7550 if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << Python3Parser.IF) | (1 << Python3Parser.FOR) | (1 << Python3Parser.ASYNC))) != 0): 

7551 self.state = 1089 

7552 self.comp_iter() 

7553 

7554 

7555 except RecognitionException as re: 

7556 localctx.exception = re 

7557 self._errHandler.reportError(self, re) 

7558 self._errHandler.recover(self, re) 

7559 finally: 

7560 self.exitRule() 

7561 return localctx 

7562 

7563 

7564 class Encoding_declContext(ParserRuleContext): 

7565 

7566 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

7567 super().__init__(parent, invokingState) 

7568 self.parser = parser 

7569 

7570 def NAME(self): 

7571 return self.getToken(Python3Parser.NAME, 0) 

7572 

7573 def getRuleIndex(self): 

7574 return Python3Parser.RULE_encoding_decl 

7575 

7576 def enterRule(self, listener:ParseTreeListener): 

7577 if hasattr( listener, "enterEncoding_decl" ): 

7578 listener.enterEncoding_decl(self) 

7579 

7580 def exitRule(self, listener:ParseTreeListener): 

7581 if hasattr( listener, "exitEncoding_decl" ): 

7582 listener.exitEncoding_decl(self) 

7583 

7584 

7585 

7586 

7587 def encoding_decl(self): 

7588 

7589 localctx = Python3Parser.Encoding_declContext(self, self._ctx, self.state) 

7590 self.enterRule(localctx, 166, self.RULE_encoding_decl) 

7591 try: 

7592 self.enterOuterAlt(localctx, 1) 

7593 self.state = 1092 

7594 self.match(Python3Parser.NAME) 

7595 except RecognitionException as re: 

7596 localctx.exception = re 

7597 self._errHandler.reportError(self, re) 

7598 self._errHandler.recover(self, re) 

7599 finally: 

7600 self.exitRule() 

7601 return localctx 

7602 

7603 

7604 class Yield_exprContext(ParserRuleContext): 

7605 

7606 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

7607 super().__init__(parent, invokingState) 

7608 self.parser = parser 

7609 

7610 def YIELD(self): 

7611 return self.getToken(Python3Parser.YIELD, 0) 

7612 

7613 def yield_arg(self): 

7614 return self.getTypedRuleContext(Python3Parser.Yield_argContext,0) 

7615 

7616 

7617 def getRuleIndex(self): 

7618 return Python3Parser.RULE_yield_expr 

7619 

7620 def enterRule(self, listener:ParseTreeListener): 

7621 if hasattr( listener, "enterYield_expr" ): 

7622 listener.enterYield_expr(self) 

7623 

7624 def exitRule(self, listener:ParseTreeListener): 

7625 if hasattr( listener, "exitYield_expr" ): 

7626 listener.exitYield_expr(self) 

7627 

7628 

7629 

7630 

7631 def yield_expr(self): 

7632 

7633 localctx = Python3Parser.Yield_exprContext(self, self._ctx, self.state) 

7634 self.enterRule(localctx, 168, self.RULE_yield_expr) 

7635 self._la = 0 # Token type 

7636 try: 

7637 self.enterOuterAlt(localctx, 1) 

7638 self.state = 1094 

7639 self.match(Python3Parser.YIELD) 

7640 self.state = 1096 

7641 self._errHandler.sync(self) 

7642 _la = self._input.LA(1) 

7643 if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << Python3Parser.STRING) | (1 << Python3Parser.NUMBER) | (1 << Python3Parser.FROM) | (1 << Python3Parser.LAMBDA) | (1 << Python3Parser.NOT) | (1 << Python3Parser.NONE) | (1 << Python3Parser.TRUE) | (1 << Python3Parser.FALSE) | (1 << Python3Parser.AWAIT) | (1 << Python3Parser.NAME) | (1 << Python3Parser.ELLIPSIS) | (1 << Python3Parser.OPEN_PAREN) | (1 << Python3Parser.OPEN_BRACK))) != 0) or ((((_la - 66)) & ~0x3f) == 0 and ((1 << (_la - 66)) & ((1 << (Python3Parser.ADD - 66)) | (1 << (Python3Parser.MINUS - 66)) | (1 << (Python3Parser.NOT_OP - 66)) | (1 << (Python3Parser.OPEN_BRACE - 66)))) != 0): 

7644 self.state = 1095 

7645 self.yield_arg() 

7646 

7647 

7648 except RecognitionException as re: 

7649 localctx.exception = re 

7650 self._errHandler.reportError(self, re) 

7651 self._errHandler.recover(self, re) 

7652 finally: 

7653 self.exitRule() 

7654 return localctx 

7655 

7656 

7657 class Yield_argContext(ParserRuleContext): 

7658 

7659 def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): 

7660 super().__init__(parent, invokingState) 

7661 self.parser = parser 

7662 

7663 def FROM(self): 

7664 return self.getToken(Python3Parser.FROM, 0) 

7665 

7666 def test(self): 

7667 return self.getTypedRuleContext(Python3Parser.TestContext,0) 

7668 

7669 

7670 def testlist(self): 

7671 return self.getTypedRuleContext(Python3Parser.TestlistContext,0) 

7672 

7673 

7674 def getRuleIndex(self): 

7675 return Python3Parser.RULE_yield_arg 

7676 

7677 def enterRule(self, listener:ParseTreeListener): 

7678 if hasattr( listener, "enterYield_arg" ): 

7679 listener.enterYield_arg(self) 

7680 

7681 def exitRule(self, listener:ParseTreeListener): 

7682 if hasattr( listener, "exitYield_arg" ): 

7683 listener.exitYield_arg(self) 

7684 

7685 

7686 

7687 

7688 def yield_arg(self): 

7689 

7690 localctx = Python3Parser.Yield_argContext(self, self._ctx, self.state) 

7691 self.enterRule(localctx, 170, self.RULE_yield_arg) 

7692 try: 

7693 self.state = 1101 

7694 self._errHandler.sync(self) 

7695 token = self._input.LA(1) 

7696 if token in [Python3Parser.FROM]: 

7697 self.enterOuterAlt(localctx, 1) 

7698 self.state = 1098 

7699 self.match(Python3Parser.FROM) 

7700 self.state = 1099 

7701 self.test() 

7702 pass 

7703 elif token in [Python3Parser.STRING, Python3Parser.NUMBER, Python3Parser.LAMBDA, Python3Parser.NOT, Python3Parser.NONE, Python3Parser.TRUE, Python3Parser.FALSE, Python3Parser.AWAIT, Python3Parser.NAME, Python3Parser.ELLIPSIS, Python3Parser.OPEN_PAREN, Python3Parser.OPEN_BRACK, Python3Parser.ADD, Python3Parser.MINUS, Python3Parser.NOT_OP, Python3Parser.OPEN_BRACE]: 

7704 self.enterOuterAlt(localctx, 2) 

7705 self.state = 1100 

7706 self.testlist() 

7707 pass 

7708 else: 

7709 raise NoViableAltException(self) 

7710 

7711 except RecognitionException as re: 

7712 localctx.exception = re 

7713 self._errHandler.reportError(self, re) 

7714 self._errHandler.recover(self, re) 

7715 finally: 

7716 self.exitRule() 

7717 return localctx 

7718 

7719 

7720 

7721 

7722