]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Hacky way to get tests to pass
authorGuido van Rossum <guido@python.org>
Wed, 23 Jan 2019 04:30:33 +0000 (20:30 -0800)
committerGuido van Rossum <guido@python.org>
Wed, 23 Jan 2019 04:30:33 +0000 (20:30 -0800)
This fixes

if 1:
foo()

but does nothing about

def f():
foo()

The latter still reports 'SyntaxError: invalid syntax'.

So this is not a real solution, just a stop-gap measure until I find a better solution.

Grammar/Grammar
Include/graminit.h
Python/ast.c
Python/graminit.c

index 23ec102c257a479320009c0910afac40ef5f9d09..e72de02b68eda62aebf815113df6bdc0068f6ce7 100644 (file)
@@ -20,7 +20,7 @@ decorators: decorator+
 decorated: decorators (classdef | funcdef | async_funcdef)
 
 async_funcdef: 'async' funcdef
-funcdef: 'def' NAME parameters ['->' test] ':' [TYPE_COMMENT] suite
+funcdef: 'def' NAME parameters ['->' test] ':' [TYPE_COMMENT] func_body_suite
 
 parameters: '(' [typedargslist] ')'
 typedargslist: (tfpdef ['=' test] (',' [TYPE_COMMENT] tfpdef ['=' test])* (TYPE_COMMENT | [',' [TYPE_COMMENT] [
@@ -85,7 +85,9 @@ with_item: test ['as' expr]
 # NB compile.c makes sure that the default except clause is last
 except_clause: 'except' [test ['as' NAME]]
 # the TYPE_COMMENT in suites is only parsed for funcdefs, but can't go elsewhere due to ambiguity
-suite: simple_stmt | NEWLINE [TYPE_COMMENT NEWLINE] INDENT stmt+ DEDENT
+func_body_suite: simple_stmt | NEWLINE [TYPE_COMMENT NEWLINE] INDENT stmt+ DEDENT
+suite: simple_stmt | NEWLINE INDENT stmt+ DEDENT
+
 
 test: or_test ['if' or_test 'else' test] | lambdef
 test_nocond: or_test | lambdef_nocond
index 6f3232c47227af709779b4bd4bab12cebfe65ff8..920c04784286b8b97d304fcdf1450560cb7ad2d7 100644 (file)
 #define with_stmt 301
 #define with_item 302
 #define except_clause 303
-#define suite 304
-#define test 305
-#define test_nocond 306
-#define lambdef 307
-#define lambdef_nocond 308
-#define or_test 309
-#define and_test 310
-#define not_test 311
-#define comparison 312
-#define comp_op 313
-#define star_expr 314
-#define expr 315
-#define xor_expr 316
-#define and_expr 317
-#define shift_expr 318
-#define arith_expr 319
-#define term 320
-#define factor 321
-#define power 322
-#define atom_expr 323
-#define atom 324
-#define testlist_comp 325
-#define trailer 326
-#define subscriptlist 327
-#define subscript 328
-#define sliceop 329
-#define exprlist 330
-#define testlist 331
-#define dictorsetmaker 332
-#define classdef 333
-#define arglist 334
-#define argument 335
-#define comp_iter 336
-#define sync_comp_for 337
-#define comp_for 338
-#define comp_if 339
-#define encoding_decl 340
-#define yield_expr 341
-#define yield_arg 342
-#define func_type_input 343
-#define func_type 344
-#define typelist 345
+#define func_body_suite 304
+#define suite 305
+#define test 306
+#define test_nocond 307
+#define lambdef 308
+#define lambdef_nocond 309
+#define or_test 310
+#define and_test 311
+#define not_test 312
+#define comparison 313
+#define comp_op 314
+#define star_expr 315
+#define expr 316
+#define xor_expr 317
+#define and_expr 318
+#define shift_expr 319
+#define arith_expr 320
+#define term 321
+#define factor 322
+#define power 323
+#define atom_expr 324
+#define atom 325
+#define testlist_comp 326
+#define trailer 327
+#define subscriptlist 328
+#define subscript 329
+#define sliceop 330
+#define exprlist 331
+#define testlist 332
+#define dictorsetmaker 333
+#define classdef 334
+#define arglist 335
+#define argument 336
+#define comp_iter 337
+#define sync_comp_for 338
+#define comp_for 339
+#define comp_if 340
+#define encoding_decl 341
+#define yield_expr 342
+#define yield_arg 343
+#define func_type_input 344
+#define func_type 345
+#define typelist 346
index 9a8c9a6b421540035b5731ac4d3ef82f6272c47a..b91c2bbc0462d9b502aac56b65314297023de6ca 100644 (file)
@@ -730,7 +730,9 @@ num_stmts(const node *n)
         case simple_stmt:
             return NCH(n) / 2; /* Divide by 2 to remove count of semi-colons */
         case suite:
-            /* suite: simple_stmt | NEWLINE [TYPE_COMMENT NEWLINE] INDENT stmt+ DEDENT */
+        case func_body_suite:
+            /* func_body_suite: simple_stmt | NEWLINE [TYPE_COMMENT NEWLINE] INDENT stmt+ DEDENT */
+            /* suite: simple_stmt | NEWLINE INDENT stmt+ DEDENT */
             if (NCH(n) == 1)
                 return num_stmts(CHILD(n, 0));
             else {
index 259793c9079d6c0644d526b21126ace21537dbaa..e15b3855d19ffee5a650d611f2bc3d5c1b7ade9e 100644 (file)
@@ -941,18 +941,18 @@ static arc arcs_41_2[1] = {
     {27, 3},
 };
 static arc arcs_41_3[1] = {
-    {29, 4},
+    {99, 4},
 };
 static arc arcs_41_4[3] = {
-    {99, 1},
-    {100, 5},
+    {100, 1},
+    {101, 5},
     {0, 4},
 };
 static arc arcs_41_5[1] = {
     {27, 6},
 };
 static arc arcs_41_6[1] = {
-    {29, 7},
+    {99, 7},
 };
 static arc arcs_41_7[1] = {
     {0, 7},
@@ -968,7 +968,7 @@ static state states_41[8] = {
     {1, arcs_41_7},
 };
 static arc arcs_42_0[1] = {
-    {101, 1},
+    {102, 1},
 };
 static arc arcs_42_1[1] = {
     {26, 2},
@@ -977,17 +977,17 @@ static arc arcs_42_2[1] = {
     {27, 3},
 };
 static arc arcs_42_3[1] = {
-    {29, 4},
+    {99, 4},
 };
 static arc arcs_42_4[2] = {
-    {100, 5},
+    {101, 5},
     {0, 4},
 };
 static arc arcs_42_5[1] = {
     {27, 6},
 };
 static arc arcs_42_6[1] = {
-    {29, 7},
+    {99, 7},
 };
 static arc arcs_42_7[1] = {
     {0, 7},
@@ -1003,13 +1003,13 @@ static state states_42[8] = {
     {1, arcs_42_7},
 };
 static arc arcs_43_0[1] = {
-    {102, 1},
+    {103, 1},
 };
 static arc arcs_43_1[1] = {
     {67, 2},
 };
 static arc arcs_43_2[1] = {
-    {103, 3},
+    {104, 3},
 };
 static arc arcs_43_3[1] = {
     {9, 4},
@@ -1019,20 +1019,20 @@ static arc arcs_43_4[1] = {
 };
 static arc arcs_43_5[2] = {
     {28, 6},
-    {29, 7},
+    {99, 7},
 };
 static arc arcs_43_6[1] = {
-    {29, 7},
+    {99, 7},
 };
 static arc arcs_43_7[2] = {
-    {100, 8},
+    {101, 8},
     {0, 7},
 };
 static arc arcs_43_8[1] = {
     {27, 9},
 };
 static arc arcs_43_9[1] = {
-    {29, 10},
+    {99, 10},
 };
 static arc arcs_43_10[1] = {
     {0, 10},
@@ -1051,17 +1051,17 @@ static state states_43[11] = {
     {1, arcs_43_10},
 };
 static arc arcs_44_0[1] = {
-    {104, 1},
+    {105, 1},
 };
 static arc arcs_44_1[1] = {
     {27, 2},
 };
 static arc arcs_44_2[1] = {
-    {29, 3},
+    {99, 3},
 };
 static arc arcs_44_3[2] = {
-    {105, 4},
-    {106, 5},
+    {106, 4},
+    {107, 5},
 };
 static arc arcs_44_4[1] = {
     {27, 6},
@@ -1070,15 +1070,15 @@ static arc arcs_44_5[1] = {
     {27, 7},
 };
 static arc arcs_44_6[1] = {
-    {29, 8},
+    {99, 8},
 };
 static arc arcs_44_7[1] = {
-    {29, 9},
+    {99, 9},
 };
 static arc arcs_44_8[4] = {
-    {105, 4},
-    {100, 10},
-    {106, 5},
+    {106, 4},
+    {101, 10},
+    {107, 5},
     {0, 8},
 };
 static arc arcs_44_9[1] = {
@@ -1088,10 +1088,10 @@ static arc arcs_44_10[1] = {
     {27, 11},
 };
 static arc arcs_44_11[1] = {
-    {29, 12},
+    {99, 12},
 };
 static arc arcs_44_12[2] = {
-    {106, 5},
+    {107, 5},
     {0, 12},
 };
 static state states_44[13] = {
@@ -1110,10 +1110,10 @@ static state states_44[13] = {
     {2, arcs_44_12},
 };
 static arc arcs_45_0[1] = {
-    {107, 1},
+    {108, 1},
 };
 static arc arcs_45_1[1] = {
-    {108, 2},
+    {109, 2},
 };
 static arc arcs_45_2[2] = {
     {33, 1},
@@ -1121,10 +1121,10 @@ static arc arcs_45_2[2] = {
 };
 static arc arcs_45_3[2] = {
     {28, 4},
-    {29, 5},
+    {99, 5},
 };
 static arc arcs_45_4[1] = {
-    {29, 5},
+    {99, 5},
 };
 static arc arcs_45_5[1] = {
     {0, 5},
@@ -1145,7 +1145,7 @@ static arc arcs_46_1[2] = {
     {0, 1},
 };
 static arc arcs_46_2[1] = {
-    {109, 3},
+    {110, 3},
 };
 static arc arcs_46_3[1] = {
     {0, 3},
@@ -1157,7 +1157,7 @@ static state states_46[4] = {
     {1, arcs_46_3},
 };
 static arc arcs_47_0[1] = {
-    {110, 1},
+    {111, 1},
 };
 static arc arcs_47_1[2] = {
     {26, 2},
@@ -1189,7 +1189,7 @@ static arc arcs_48_1[1] = {
 };
 static arc arcs_48_2[2] = {
     {28, 3},
-    {111, 4},
+    {112, 4},
 };
 static arc arcs_48_3[1] = {
     {2, 5},
@@ -1198,11 +1198,11 @@ static arc arcs_48_4[1] = {
     {6, 6},
 };
 static arc arcs_48_5[1] = {
-    {111, 4},
+    {112, 4},
 };
 static arc arcs_48_6[2] = {
     {6, 6},
-    {112, 1},
+    {113, 1},
 };
 static state states_48[7] = {
     {2, arcs_48_0},
@@ -1214,69 +1214,70 @@ static state states_48[7] = {
     {2, arcs_48_6},
 };
 static arc arcs_49_0[2] = {
-    {113, 1},
-    {114, 2},
+    {3, 1},
+    {2, 2},
 };
-static arc arcs_49_1[2] = {
-    {98, 3},
+static arc arcs_49_1[1] = {
     {0, 1},
 };
 static arc arcs_49_2[1] = {
-    {0, 2},
+    {112, 3},
 };
 static arc arcs_49_3[1] = {
-    {113, 4},
-};
-static arc arcs_49_4[1] = {
-    {100, 5},
+    {6, 4},
 };
-static arc arcs_49_5[1] = {
-    {26, 2},
+static arc arcs_49_4[2] = {
+    {6, 4},
+    {113, 1},
 };
-static state states_49[6] = {
+static state states_49[5] = {
     {2, arcs_49_0},
-    {2, arcs_49_1},
+    {1, arcs_49_1},
     {1, arcs_49_2},
     {1, arcs_49_3},
-    {1, arcs_49_4},
-    {1, arcs_49_5},
+    {2, arcs_49_4},
 };
 static arc arcs_50_0[2] = {
-    {113, 1},
-    {116, 1},
+    {114, 1},
+    {115, 2},
 };
-static arc arcs_50_1[1] = {
+static arc arcs_50_1[2] = {
+    {98, 3},
     {0, 1},
 };
-static state states_50[2] = {
-    {2, arcs_50_0},
-    {1, arcs_50_1},
+static arc arcs_50_2[1] = {
+    {0, 2},
 };
-static arc arcs_51_0[1] = {
-    {117, 1},
+static arc arcs_50_3[1] = {
+    {114, 4},
 };
-static arc arcs_51_1[2] = {
-    {36, 2},
-    {27, 3},
+static arc arcs_50_4[1] = {
+    {101, 5},
 };
-static arc arcs_51_2[1] = {
-    {27, 3},
+static arc arcs_50_5[1] = {
+    {26, 2},
 };
-static arc arcs_51_3[1] = {
-    {26, 4},
+static state states_50[6] = {
+    {2, arcs_50_0},
+    {2, arcs_50_1},
+    {1, arcs_50_2},
+    {1, arcs_50_3},
+    {1, arcs_50_4},
+    {1, arcs_50_5},
+};
+static arc arcs_51_0[2] = {
+    {114, 1},
+    {117, 1},
 };
-static arc arcs_51_4[1] = {
-    {0, 4},
+static arc arcs_51_1[1] = {
+    {0, 1},
 };
-static state states_51[5] = {
-    {1, arcs_51_0},
-    {2, arcs_51_1},
-    {1, arcs_51_2},
-    {1, arcs_51_3},
-    {1, arcs_51_4},
+static state states_51[2] = {
+    {2, arcs_51_0},
+    {1, arcs_51_1},
 };
 static arc arcs_52_0[1] = {
-    {117, 1},
+    {118, 1},
 };
 static arc arcs_52_1[2] = {
     {36, 2},
@@ -1286,7 +1287,7 @@ static arc arcs_52_2[1] = {
     {27, 3},
 };
 static arc arcs_52_3[1] = {
-    {115, 4},
+    {26, 4},
 };
 static arc arcs_52_4[1] = {
     {0, 4},
@@ -1302,108 +1303,120 @@ static arc arcs_53_0[1] = {
     {118, 1},
 };
 static arc arcs_53_1[2] = {
-    {119, 0},
-    {0, 1},
+    {36, 2},
+    {27, 3},
+};
+static arc arcs_53_2[1] = {
+    {27, 3},
+};
+static arc arcs_53_3[1] = {
+    {116, 4},
 };
-static state states_53[2] = {
+static arc arcs_53_4[1] = {
+    {0, 4},
+};
+static state states_53[5] = {
     {1, arcs_53_0},
     {2, arcs_53_1},
+    {1, arcs_53_2},
+    {1, arcs_53_3},
+    {1, arcs_53_4},
 };
 static arc arcs_54_0[1] = {
-    {120, 1},
+    {119, 1},
 };
 static arc arcs_54_1[2] = {
-    {121, 0},
+    {120, 0},
     {0, 1},
 };
 static state states_54[2] = {
     {1, arcs_54_0},
     {2, arcs_54_1},
 };
-static arc arcs_55_0[2] = {
-    {122, 1},
-    {123, 2},
+static arc arcs_55_0[1] = {
+    {121, 1},
+};
+static arc arcs_55_1[2] = {
+    {122, 0},
+    {0, 1},
+};
+static state states_55[2] = {
+    {1, arcs_55_0},
+    {2, arcs_55_1},
+};
+static arc arcs_56_0[2] = {
+    {123, 1},
+    {124, 2},
 };
-static arc arcs_55_1[1] = {
-    {120, 2},
+static arc arcs_56_1[1] = {
+    {121, 2},
 };
-static arc arcs_55_2[1] = {
+static arc arcs_56_2[1] = {
     {0, 2},
 };
-static state states_55[3] = {
-    {2, arcs_55_0},
-    {1, arcs_55_1},
-    {1, arcs_55_2},
+static state states_56[3] = {
+    {2, arcs_56_0},
+    {1, arcs_56_1},
+    {1, arcs_56_2},
 };
-static arc arcs_56_0[1] = {
-    {109, 1},
+static arc arcs_57_0[1] = {
+    {110, 1},
 };
-static arc arcs_56_1[2] = {
-    {124, 0},
+static arc arcs_57_1[2] = {
+    {125, 0},
     {0, 1},
 };
-static state states_56[2] = {
-    {1, arcs_56_0},
-    {2, arcs_56_1},
+static state states_57[2] = {
+    {1, arcs_57_0},
+    {2, arcs_57_1},
 };
-static arc arcs_57_0[10] = {
-    {125, 1},
+static arc arcs_58_0[10] = {
     {126, 1},
     {127, 1},
     {128, 1},
     {129, 1},
     {130, 1},
     {131, 1},
-    {103, 1},
-    {122, 2},
-    {132, 3},
+    {132, 1},
+    {104, 1},
+    {123, 2},
+    {133, 3},
 };
-static arc arcs_57_1[1] = {
+static arc arcs_58_1[1] = {
     {0, 1},
 };
-static arc arcs_57_2[1] = {
-    {103, 1},
+static arc arcs_58_2[1] = {
+    {104, 1},
 };
-static arc arcs_57_3[2] = {
-    {122, 1},
+static arc arcs_58_3[2] = {
+    {123, 1},
     {0, 3},
 };
-static state states_57[4] = {
-    {10, arcs_57_0},
-    {1, arcs_57_1},
-    {1, arcs_57_2},
-    {2, arcs_57_3},
-};
-static arc arcs_58_0[1] = {
-    {34, 1},
-};
-static arc arcs_58_1[1] = {
-    {109, 2},
-};
-static arc arcs_58_2[1] = {
-    {0, 2},
-};
-static state states_58[3] = {
-    {1, arcs_58_0},
+static state states_58[4] = {
+    {10, arcs_58_0},
     {1, arcs_58_1},
     {1, arcs_58_2},
+    {2, arcs_58_3},
 };
 static arc arcs_59_0[1] = {
-    {133, 1},
+    {34, 1},
 };
-static arc arcs_59_1[2] = {
-    {134, 0},
-    {0, 1},
+static arc arcs_59_1[1] = {
+    {110, 2},
 };
-static state states_59[2] = {
+static arc arcs_59_2[1] = {
+    {0, 2},
+};
+static state states_59[3] = {
     {1, arcs_59_0},
-    {2, arcs_59_1},
+    {1, arcs_59_1},
+    {1, arcs_59_2},
 };
 static arc arcs_60_0[1] = {
-    {135, 1},
+    {134, 1},
 };
 static arc arcs_60_1[2] = {
-    {136, 0},
+    {135, 0},
     {0, 1},
 };
 static state states_60[2] = {
@@ -1411,10 +1424,10 @@ static state states_60[2] = {
     {2, arcs_60_1},
 };
 static arc arcs_61_0[1] = {
-    {137, 1},
+    {136, 1},
 };
 static arc arcs_61_1[2] = {
-    {138, 0},
+    {137, 0},
     {0, 1},
 };
 static state states_61[2] = {
@@ -1422,23 +1435,22 @@ static state states_61[2] = {
     {2, arcs_61_1},
 };
 static arc arcs_62_0[1] = {
-    {139, 1},
+    {138, 1},
 };
-static arc arcs_62_1[3] = {
-    {140, 0},
-    {141, 0},
+static arc arcs_62_1[2] = {
+    {139, 0},
     {0, 1},
 };
 static state states_62[2] = {
     {1, arcs_62_0},
-    {3, arcs_62_1},
+    {2, arcs_62_1},
 };
 static arc arcs_63_0[1] = {
-    {142, 1},
+    {140, 1},
 };
 static arc arcs_63_1[3] = {
-    {143, 0},
-    {144, 0},
+    {141, 0},
+    {142, 0},
     {0, 1},
 };
 static state states_63[2] = {
@@ -1446,645 +1458,657 @@ static state states_63[2] = {
     {3, arcs_63_1},
 };
 static arc arcs_64_0[1] = {
-    {145, 1},
+    {143, 1},
+};
+static arc arcs_64_1[3] = {
+    {144, 0},
+    {145, 0},
+    {0, 1},
+};
+static state states_64[2] = {
+    {1, arcs_64_0},
+    {3, arcs_64_1},
 };
-static arc arcs_64_1[6] = {
+static arc arcs_65_0[1] = {
+    {146, 1},
+};
+static arc arcs_65_1[6] = {
     {34, 0},
     {11, 0},
-    {146, 0},
     {147, 0},
     {148, 0},
+    {149, 0},
     {0, 1},
 };
-static state states_64[2] = {
-    {1, arcs_64_0},
-    {6, arcs_64_1},
+static state states_65[2] = {
+    {1, arcs_65_0},
+    {6, arcs_65_1},
 };
-static arc arcs_65_0[4] = {
-    {143, 1},
+static arc arcs_66_0[4] = {
     {144, 1},
-    {149, 1},
-    {150, 2},
+    {145, 1},
+    {150, 1},
+    {151, 2},
 };
-static arc arcs_65_1[1] = {
-    {145, 2},
+static arc arcs_66_1[1] = {
+    {146, 2},
 };
-static arc arcs_65_2[1] = {
+static arc arcs_66_2[1] = {
     {0, 2},
 };
-static state states_65[3] = {
-    {4, arcs_65_0},
-    {1, arcs_65_1},
-    {1, arcs_65_2},
+static state states_66[3] = {
+    {4, arcs_66_0},
+    {1, arcs_66_1},
+    {1, arcs_66_2},
 };
-static arc arcs_66_0[1] = {
-    {151, 1},
+static arc arcs_67_0[1] = {
+    {152, 1},
 };
-static arc arcs_66_1[2] = {
+static arc arcs_67_1[2] = {
     {35, 2},
     {0, 1},
 };
-static arc arcs_66_2[1] = {
-    {145, 3},
+static arc arcs_67_2[1] = {
+    {146, 3},
 };
-static arc arcs_66_3[1] = {
+static arc arcs_67_3[1] = {
     {0, 3},
 };
-static state states_66[4] = {
-    {1, arcs_66_0},
-    {2, arcs_66_1},
-    {1, arcs_66_2},
-    {1, arcs_66_3},
-};
-static arc arcs_67_0[2] = {
-    {152, 1},
-    {153, 2},
+static state states_67[4] = {
+    {1, arcs_67_0},
+    {2, arcs_67_1},
+    {1, arcs_67_2},
+    {1, arcs_67_3},
 };
-static arc arcs_67_1[1] = {
-    {153, 2},
+static arc arcs_68_0[2] = {
+    {153, 1},
+    {154, 2},
 };
-static arc arcs_67_2[2] = {
+static arc arcs_68_1[1] = {
     {154, 2},
+};
+static arc arcs_68_2[2] = {
+    {155, 2},
     {0, 2},
 };
-static state states_67[3] = {
-    {2, arcs_67_0},
-    {1, arcs_67_1},
-    {2, arcs_67_2},
+static state states_68[3] = {
+    {2, arcs_68_0},
+    {1, arcs_68_1},
+    {2, arcs_68_2},
 };
-static arc arcs_68_0[10] = {
+static arc arcs_69_0[10] = {
     {13, 1},
-    {156, 2},
-    {158, 3},
+    {157, 2},
+    {159, 3},
     {23, 4},
-    {161, 4},
-    {162, 5},
+    {162, 4},
+    {163, 5},
     {84, 4},
-    {163, 4},
     {164, 4},
     {165, 4},
+    {166, 4},
 };
-static arc arcs_68_1[3] = {
+static arc arcs_69_1[3] = {
     {51, 6},
-    {155, 6},
+    {156, 6},
     {15, 4},
 };
-static arc arcs_68_2[2] = {
-    {155, 7},
-    {157, 4},
+static arc arcs_69_2[2] = {
+    {156, 7},
+    {158, 4},
 };
-static arc arcs_68_3[2] = {
-    {159, 8},
-    {160, 4},
+static arc arcs_69_3[2] = {
+    {160, 8},
+    {161, 4},
 };
-static arc arcs_68_4[1] = {
+static arc arcs_69_4[1] = {
     {0, 4},
 };
-static arc arcs_68_5[2] = {
-    {162, 5},
+static arc arcs_69_5[2] = {
+    {163, 5},
     {0, 5},
 };
-static arc arcs_68_6[1] = {
+static arc arcs_69_6[1] = {
     {15, 4},
 };
-static arc arcs_68_7[1] = {
-    {157, 4},
+static arc arcs_69_7[1] = {
+    {158, 4},
 };
-static arc arcs_68_8[1] = {
-    {160, 4},
+static arc arcs_69_8[1] = {
+    {161, 4},
 };
-static state states_68[9] = {
-    {10, arcs_68_0},
-    {3, arcs_68_1},
-    {2, arcs_68_2},
-    {2, arcs_68_3},
-    {1, arcs_68_4},
-    {2, arcs_68_5},
-    {1, arcs_68_6},
-    {1, arcs_68_7},
-    {1, arcs_68_8},
-};
-static arc arcs_69_0[2] = {
+static state states_69[9] = {
+    {10, arcs_69_0},
+    {3, arcs_69_1},
+    {2, arcs_69_2},
+    {2, arcs_69_3},
+    {1, arcs_69_4},
+    {2, arcs_69_5},
+    {1, arcs_69_6},
+    {1, arcs_69_7},
+    {1, arcs_69_8},
+};
+static arc arcs_70_0[2] = {
     {26, 1},
     {52, 1},
 };
-static arc arcs_69_1[3] = {
-    {166, 2},
+static arc arcs_70_1[3] = {
+    {167, 2},
     {33, 3},
     {0, 1},
 };
-static arc arcs_69_2[1] = {
+static arc arcs_70_2[1] = {
     {0, 2},
 };
-static arc arcs_69_3[3] = {
+static arc arcs_70_3[3] = {
     {26, 4},
     {52, 4},
     {0, 3},
 };
-static arc arcs_69_4[2] = {
+static arc arcs_70_4[2] = {
     {33, 3},
     {0, 4},
 };
-static state states_69[5] = {
-    {2, arcs_69_0},
-    {3, arcs_69_1},
-    {1, arcs_69_2},
-    {3, arcs_69_3},
-    {2, arcs_69_4},
+static state states_70[5] = {
+    {2, arcs_70_0},
+    {3, arcs_70_1},
+    {1, arcs_70_2},
+    {3, arcs_70_3},
+    {2, arcs_70_4},
 };
-static arc arcs_70_0[3] = {
+static arc arcs_71_0[3] = {
     {13, 1},
-    {156, 2},
+    {157, 2},
     {83, 3},
 };
-static arc arcs_70_1[2] = {
+static arc arcs_71_1[2] = {
     {14, 4},
     {15, 5},
 };
-static arc arcs_70_2[1] = {
-    {167, 6},
+static arc arcs_71_2[1] = {
+    {168, 6},
 };
-static arc arcs_70_3[1] = {
+static arc arcs_71_3[1] = {
     {23, 5},
 };
-static arc arcs_70_4[1] = {
+static arc arcs_71_4[1] = {
     {15, 5},
 };
-static arc arcs_70_5[1] = {
+static arc arcs_71_5[1] = {
     {0, 5},
 };
-static arc arcs_70_6[1] = {
-    {157, 5},
+static arc arcs_71_6[1] = {
+    {158, 5},
 };
-static state states_70[7] = {
-    {3, arcs_70_0},
-    {2, arcs_70_1},
-    {1, arcs_70_2},
-    {1, arcs_70_3},
-    {1, arcs_70_4},
-    {1, arcs_70_5},
-    {1, arcs_70_6},
+static state states_71[7] = {
+    {3, arcs_71_0},
+    {2, arcs_71_1},
+    {1, arcs_71_2},
+    {1, arcs_71_3},
+    {1, arcs_71_4},
+    {1, arcs_71_5},
+    {1, arcs_71_6},
 };
-static arc arcs_71_0[1] = {
-    {168, 1},
+static arc arcs_72_0[1] = {
+    {169, 1},
 };
-static arc arcs_71_1[2] = {
+static arc arcs_72_1[2] = {
     {33, 2},
     {0, 1},
 };
-static arc arcs_71_2[2] = {
-    {168, 1},
+static arc arcs_72_2[2] = {
+    {169, 1},
     {0, 2},
 };
-static state states_71[3] = {
-    {1, arcs_71_0},
-    {2, arcs_71_1},
-    {2, arcs_71_2},
+static state states_72[3] = {
+    {1, arcs_72_0},
+    {2, arcs_72_1},
+    {2, arcs_72_2},
 };
-static arc arcs_72_0[2] = {
+static arc arcs_73_0[2] = {
     {26, 1},
     {27, 2},
 };
-static arc arcs_72_1[2] = {
+static arc arcs_73_1[2] = {
     {27, 2},
     {0, 1},
 };
-static arc arcs_72_2[3] = {
+static arc arcs_73_2[3] = {
     {26, 3},
-    {169, 4},
+    {170, 4},
     {0, 2},
 };
-static arc arcs_72_3[2] = {
-    {169, 4},
+static arc arcs_73_3[2] = {
+    {170, 4},
     {0, 3},
 };
-static arc arcs_72_4[1] = {
+static arc arcs_73_4[1] = {
     {0, 4},
 };
-static state states_72[5] = {
-    {2, arcs_72_0},
-    {2, arcs_72_1},
-    {3, arcs_72_2},
-    {2, arcs_72_3},
-    {1, arcs_72_4},
+static state states_73[5] = {
+    {2, arcs_73_0},
+    {2, arcs_73_1},
+    {3, arcs_73_2},
+    {2, arcs_73_3},
+    {1, arcs_73_4},
 };
-static arc arcs_73_0[1] = {
+static arc arcs_74_0[1] = {
     {27, 1},
 };
-static arc arcs_73_1[2] = {
+static arc arcs_74_1[2] = {
     {26, 2},
     {0, 1},
 };
-static arc arcs_73_2[1] = {
+static arc arcs_74_2[1] = {
     {0, 2},
 };
-static state states_73[3] = {
-    {1, arcs_73_0},
-    {2, arcs_73_1},
-    {1, arcs_73_2},
+static state states_74[3] = {
+    {1, arcs_74_0},
+    {2, arcs_74_1},
+    {1, arcs_74_2},
 };
-static arc arcs_74_0[2] = {
-    {109, 1},
+static arc arcs_75_0[2] = {
+    {110, 1},
     {52, 1},
 };
-static arc arcs_74_1[2] = {
+static arc arcs_75_1[2] = {
     {33, 2},
     {0, 1},
 };
-static arc arcs_74_2[3] = {
-    {109, 1},
+static arc arcs_75_2[3] = {
+    {110, 1},
     {52, 1},
     {0, 2},
 };
-static state states_74[3] = {
-    {2, arcs_74_0},
-    {2, arcs_74_1},
-    {3, arcs_74_2},
+static state states_75[3] = {
+    {2, arcs_75_0},
+    {2, arcs_75_1},
+    {3, arcs_75_2},
 };
-static arc arcs_75_0[1] = {
+static arc arcs_76_0[1] = {
     {26, 1},
 };
-static arc arcs_75_1[2] = {
+static arc arcs_76_1[2] = {
     {33, 2},
     {0, 1},
 };
-static arc arcs_75_2[2] = {
+static arc arcs_76_2[2] = {
     {26, 1},
     {0, 2},
 };
-static state states_75[3] = {
-    {1, arcs_75_0},
-    {2, arcs_75_1},
-    {2, arcs_75_2},
+static state states_76[3] = {
+    {1, arcs_76_0},
+    {2, arcs_76_1},
+    {2, arcs_76_2},
 };
-static arc arcs_76_0[3] = {
+static arc arcs_77_0[3] = {
     {26, 1},
     {35, 2},
     {52, 3},
 };
-static arc arcs_76_1[4] = {
+static arc arcs_77_1[4] = {
     {27, 4},
-    {166, 5},
+    {167, 5},
     {33, 6},
     {0, 1},
 };
-static arc arcs_76_2[1] = {
-    {109, 7},
+static arc arcs_77_2[1] = {
+    {110, 7},
 };
-static arc arcs_76_3[3] = {
-    {166, 5},
+static arc arcs_77_3[3] = {
+    {167, 5},
     {33, 6},
     {0, 3},
 };
-static arc arcs_76_4[1] = {
+static arc arcs_77_4[1] = {
     {26, 7},
 };
-static arc arcs_76_5[1] = {
+static arc arcs_77_5[1] = {
     {0, 5},
 };
-static arc arcs_76_6[3] = {
+static arc arcs_77_6[3] = {
     {26, 8},
     {52, 8},
     {0, 6},
 };
-static arc arcs_76_7[3] = {
-    {166, 5},
+static arc arcs_77_7[3] = {
+    {167, 5},
     {33, 9},
     {0, 7},
 };
-static arc arcs_76_8[2] = {
+static arc arcs_77_8[2] = {
     {33, 6},
     {0, 8},
 };
-static arc arcs_76_9[3] = {
+static arc arcs_77_9[3] = {
     {26, 10},
     {35, 11},
     {0, 9},
 };
-static arc arcs_76_10[1] = {
+static arc arcs_77_10[1] = {
     {27, 12},
 };
-static arc arcs_76_11[1] = {
-    {109, 13},
+static arc arcs_77_11[1] = {
+    {110, 13},
 };
-static arc arcs_76_12[1] = {
+static arc arcs_77_12[1] = {
     {26, 13},
 };
-static arc arcs_76_13[2] = {
+static arc arcs_77_13[2] = {
     {33, 9},
     {0, 13},
 };
-static state states_76[14] = {
-    {3, arcs_76_0},
-    {4, arcs_76_1},
-    {1, arcs_76_2},
-    {3, arcs_76_3},
-    {1, arcs_76_4},
-    {1, arcs_76_5},
-    {3, arcs_76_6},
-    {3, arcs_76_7},
-    {2, arcs_76_8},
-    {3, arcs_76_9},
-    {1, arcs_76_10},
-    {1, arcs_76_11},
-    {1, arcs_76_12},
-    {2, arcs_76_13},
-};
-static arc arcs_77_0[1] = {
-    {170, 1},
-};
-static arc arcs_77_1[1] = {
+static state states_77[14] = {
+    {3, arcs_77_0},
+    {4, arcs_77_1},
+    {1, arcs_77_2},
+    {3, arcs_77_3},
+    {1, arcs_77_4},
+    {1, arcs_77_5},
+    {3, arcs_77_6},
+    {3, arcs_77_7},
+    {2, arcs_77_8},
+    {3, arcs_77_9},
+    {1, arcs_77_10},
+    {1, arcs_77_11},
+    {1, arcs_77_12},
+    {2, arcs_77_13},
+};
+static arc arcs_78_0[1] = {
+    {171, 1},
+};
+static arc arcs_78_1[1] = {
     {23, 2},
 };
-static arc arcs_77_2[2] = {
+static arc arcs_78_2[2] = {
     {13, 3},
     {27, 4},
 };
-static arc arcs_77_3[2] = {
+static arc arcs_78_3[2] = {
     {14, 5},
     {15, 6},
 };
-static arc arcs_77_4[1] = {
-    {29, 7},
+static arc arcs_78_4[1] = {
+    {99, 7},
 };
-static arc arcs_77_5[1] = {
+static arc arcs_78_5[1] = {
     {15, 6},
 };
-static arc arcs_77_6[1] = {
+static arc arcs_78_6[1] = {
     {27, 4},
 };
-static arc arcs_77_7[1] = {
+static arc arcs_78_7[1] = {
     {0, 7},
 };
-static state states_77[8] = {
-    {1, arcs_77_0},
-    {1, arcs_77_1},
-    {2, arcs_77_2},
-    {2, arcs_77_3},
-    {1, arcs_77_4},
-    {1, arcs_77_5},
-    {1, arcs_77_6},
-    {1, arcs_77_7},
+static state states_78[8] = {
+    {1, arcs_78_0},
+    {1, arcs_78_1},
+    {2, arcs_78_2},
+    {2, arcs_78_3},
+    {1, arcs_78_4},
+    {1, arcs_78_5},
+    {1, arcs_78_6},
+    {1, arcs_78_7},
 };
-static arc arcs_78_0[1] = {
-    {171, 1},
+static arc arcs_79_0[1] = {
+    {172, 1},
 };
-static arc arcs_78_1[2] = {
+static arc arcs_79_1[2] = {
     {33, 2},
     {0, 1},
 };
-static arc arcs_78_2[2] = {
-    {171, 1},
+static arc arcs_79_2[2] = {
+    {172, 1},
     {0, 2},
 };
-static state states_78[3] = {
-    {1, arcs_78_0},
-    {2, arcs_78_1},
-    {2, arcs_78_2},
+static state states_79[3] = {
+    {1, arcs_79_0},
+    {2, arcs_79_1},
+    {2, arcs_79_2},
 };
-static arc arcs_79_0[3] = {
+static arc arcs_80_0[3] = {
     {26, 1},
     {35, 2},
     {34, 2},
 };
-static arc arcs_79_1[3] = {
-    {166, 3},
+static arc arcs_80_1[3] = {
+    {167, 3},
     {32, 2},
     {0, 1},
 };
-static arc arcs_79_2[1] = {
+static arc arcs_80_2[1] = {
     {26, 3},
 };
-static arc arcs_79_3[1] = {
+static arc arcs_80_3[1] = {
     {0, 3},
 };
-static state states_79[4] = {
-    {3, arcs_79_0},
-    {3, arcs_79_1},
-    {1, arcs_79_2},
-    {1, arcs_79_3},
+static state states_80[4] = {
+    {3, arcs_80_0},
+    {3, arcs_80_1},
+    {1, arcs_80_2},
+    {1, arcs_80_3},
 };
-static arc arcs_80_0[2] = {
-    {166, 1},
-    {173, 1},
+static arc arcs_81_0[2] = {
+    {167, 1},
+    {174, 1},
 };
-static arc arcs_80_1[1] = {
+static arc arcs_81_1[1] = {
     {0, 1},
 };
-static state states_80[2] = {
-    {2, arcs_80_0},
-    {1, arcs_80_1},
+static state states_81[2] = {
+    {2, arcs_81_0},
+    {1, arcs_81_1},
 };
-static arc arcs_81_0[1] = {
-    {102, 1},
+static arc arcs_82_0[1] = {
+    {103, 1},
 };
-static arc arcs_81_1[1] = {
+static arc arcs_82_1[1] = {
     {67, 2},
 };
-static arc arcs_81_2[1] = {
-    {103, 3},
+static arc arcs_82_2[1] = {
+    {104, 3},
 };
-static arc arcs_81_3[1] = {
-    {113, 4},
+static arc arcs_82_3[1] = {
+    {114, 4},
 };
-static arc arcs_81_4[2] = {
-    {172, 5},
+static arc arcs_82_4[2] = {
+    {173, 5},
     {0, 4},
 };
-static arc arcs_81_5[1] = {
+static arc arcs_82_5[1] = {
     {0, 5},
 };
-static state states_81[6] = {
-    {1, arcs_81_0},
-    {1, arcs_81_1},
-    {1, arcs_81_2},
-    {1, arcs_81_3},
-    {2, arcs_81_4},
-    {1, arcs_81_5},
+static state states_82[6] = {
+    {1, arcs_82_0},
+    {1, arcs_82_1},
+    {1, arcs_82_2},
+    {1, arcs_82_3},
+    {2, arcs_82_4},
+    {1, arcs_82_5},
 };
-static arc arcs_82_0[2] = {
+static arc arcs_83_0[2] = {
     {21, 1},
-    {174, 2},
+    {175, 2},
 };
-static arc arcs_82_1[1] = {
-    {174, 2},
+static arc arcs_83_1[1] = {
+    {175, 2},
 };
-static arc arcs_82_2[1] = {
+static arc arcs_83_2[1] = {
     {0, 2},
 };
-static state states_82[3] = {
-    {2, arcs_82_0},
-    {1, arcs_82_1},
-    {1, arcs_82_2},
+static state states_83[3] = {
+    {2, arcs_83_0},
+    {1, arcs_83_1},
+    {1, arcs_83_2},
 };
-static arc arcs_83_0[1] = {
+static arc arcs_84_0[1] = {
     {98, 1},
 };
-static arc arcs_83_1[1] = {
-    {115, 2},
+static arc arcs_84_1[1] = {
+    {116, 2},
 };
-static arc arcs_83_2[2] = {
-    {172, 3},
+static arc arcs_84_2[2] = {
+    {173, 3},
     {0, 2},
 };
-static arc arcs_83_3[1] = {
+static arc arcs_84_3[1] = {
     {0, 3},
 };
-static state states_83[4] = {
-    {1, arcs_83_0},
-    {1, arcs_83_1},
-    {2, arcs_83_2},
-    {1, arcs_83_3},
+static state states_84[4] = {
+    {1, arcs_84_0},
+    {1, arcs_84_1},
+    {2, arcs_84_2},
+    {1, arcs_84_3},
 };
-static arc arcs_84_0[1] = {
+static arc arcs_85_0[1] = {
     {23, 1},
 };
-static arc arcs_84_1[1] = {
+static arc arcs_85_1[1] = {
     {0, 1},
 };
-static state states_84[2] = {
-    {1, arcs_84_0},
-    {1, arcs_84_1},
+static state states_85[2] = {
+    {1, arcs_85_0},
+    {1, arcs_85_1},
 };
-static arc arcs_85_0[1] = {
-    {176, 1},
+static arc arcs_86_0[1] = {
+    {177, 1},
 };
-static arc arcs_85_1[2] = {
-    {177, 2},
+static arc arcs_86_1[2] = {
+    {178, 2},
     {0, 1},
 };
-static arc arcs_85_2[1] = {
+static arc arcs_86_2[1] = {
     {0, 2},
 };
-static state states_85[3] = {
-    {1, arcs_85_0},
-    {2, arcs_85_1},
-    {1, arcs_85_2},
+static state states_86[3] = {
+    {1, arcs_86_0},
+    {2, arcs_86_1},
+    {1, arcs_86_2},
 };
-static arc arcs_86_0[2] = {
+static arc arcs_87_0[2] = {
     {78, 1},
     {48, 2},
 };
-static arc arcs_86_1[1] = {
+static arc arcs_87_1[1] = {
     {26, 2},
 };
-static arc arcs_86_2[1] = {
+static arc arcs_87_2[1] = {
     {0, 2},
 };
-static state states_86[3] = {
-    {2, arcs_86_0},
-    {1, arcs_86_1},
-    {1, arcs_86_2},
+static state states_87[3] = {
+    {2, arcs_87_0},
+    {1, arcs_87_1},
+    {1, arcs_87_2},
 };
-static arc arcs_87_0[1] = {
-    {179, 1},
+static arc arcs_88_0[1] = {
+    {180, 1},
 };
-static arc arcs_87_1[2] = {
+static arc arcs_88_1[2] = {
     {2, 1},
     {7, 2},
 };
-static arc arcs_87_2[1] = {
+static arc arcs_88_2[1] = {
     {0, 2},
 };
-static state states_87[3] = {
-    {1, arcs_87_0},
-    {2, arcs_87_1},
-    {1, arcs_87_2},
+static state states_88[3] = {
+    {1, arcs_88_0},
+    {2, arcs_88_1},
+    {1, arcs_88_2},
 };
-static arc arcs_88_0[1] = {
+static arc arcs_89_0[1] = {
     {13, 1},
 };
-static arc arcs_88_1[2] = {
-    {180, 2},
+static arc arcs_89_1[2] = {
+    {181, 2},
     {15, 3},
 };
-static arc arcs_88_2[1] = {
+static arc arcs_89_2[1] = {
     {15, 3},
 };
-static arc arcs_88_3[1] = {
+static arc arcs_89_3[1] = {
     {25, 4},
 };
-static arc arcs_88_4[1] = {
+static arc arcs_89_4[1] = {
     {26, 5},
 };
-static arc arcs_88_5[1] = {
+static arc arcs_89_5[1] = {
     {0, 5},
 };
-static state states_88[6] = {
-    {1, arcs_88_0},
-    {2, arcs_88_1},
-    {1, arcs_88_2},
-    {1, arcs_88_3},
-    {1, arcs_88_4},
-    {1, arcs_88_5},
+static state states_89[6] = {
+    {1, arcs_89_0},
+    {2, arcs_89_1},
+    {1, arcs_89_2},
+    {1, arcs_89_3},
+    {1, arcs_89_4},
+    {1, arcs_89_5},
 };
-static arc arcs_89_0[3] = {
+static arc arcs_90_0[3] = {
     {26, 1},
     {34, 2},
     {35, 3},
 };
-static arc arcs_89_1[2] = {
+static arc arcs_90_1[2] = {
     {33, 4},
     {0, 1},
 };
-static arc arcs_89_2[3] = {
+static arc arcs_90_2[3] = {
     {26, 5},
     {33, 6},
     {0, 2},
 };
-static arc arcs_89_3[1] = {
+static arc arcs_90_3[1] = {
     {26, 7},
 };
-static arc arcs_89_4[4] = {
+static arc arcs_90_4[4] = {
     {26, 1},
     {34, 8},
     {35, 3},
     {0, 4},
 };
-static arc arcs_89_5[2] = {
+static arc arcs_90_5[2] = {
     {33, 6},
     {0, 5},
 };
-static arc arcs_89_6[2] = {
+static arc arcs_90_6[2] = {
     {26, 5},
     {35, 3},
 };
-static arc arcs_89_7[1] = {
+static arc arcs_90_7[1] = {
     {0, 7},
 };
-static arc arcs_89_8[3] = {
+static arc arcs_90_8[3] = {
     {26, 9},
     {33, 10},
     {0, 8},
 };
-static arc arcs_89_9[2] = {
+static arc arcs_90_9[2] = {
     {33, 10},
     {0, 9},
 };
-static arc arcs_89_10[2] = {
+static arc arcs_90_10[2] = {
     {26, 9},
     {35, 3},
 };
-static state states_89[11] = {
-    {3, arcs_89_0},
-    {2, arcs_89_1},
-    {3, arcs_89_2},
-    {1, arcs_89_3},
-    {4, arcs_89_4},
-    {2, arcs_89_5},
-    {2, arcs_89_6},
-    {1, arcs_89_7},
-    {3, arcs_89_8},
-    {2, arcs_89_9},
-    {2, arcs_89_10},
-};
-static dfa dfas[90] = {
+static state states_90[11] = {
+    {3, arcs_90_0},
+    {2, arcs_90_1},
+    {3, arcs_90_2},
+    {1, arcs_90_3},
+    {4, arcs_90_4},
+    {2, arcs_90_5},
+    {2, arcs_90_6},
+    {1, arcs_90_7},
+    {3, arcs_90_8},
+    {2, arcs_90_9},
+    {2, arcs_90_10},
+};
+static dfa dfas[91] = {
     {256, "single_input", 0, 3, states_0,
-     "\004\050\340\000\004\000\000\000\024\174\022\016\144\011\040\004\000\200\041\121\076\004\001"},
+     "\004\050\340\000\004\000\000\000\024\174\022\016\304\022\100\010\000\000\103\242\174\010\002"},
     {257, "file_input", 0, 2, states_1,
-     "\204\050\340\000\004\000\000\000\024\174\022\016\144\011\040\004\000\200\041\121\076\004\001"},
+     "\204\050\340\000\004\000\000\000\024\174\022\016\304\022\100\010\000\000\103\242\174\010\002"},
     {258, "eval_input", 0, 3, states_2,
-     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\040\004\000\200\041\121\076\000\000"},
+     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\100\010\000\000\103\242\174\000\000"},
     {259, "decorator", 0, 7, states_3,
      "\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
     {260, "decorators", 0, 2, states_4,
@@ -2106,17 +2130,17 @@ static dfa dfas[90] = {
     {268, "vfpdef", 0, 2, states_12,
      "\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
     {269, "stmt", 0, 2, states_13,
-     "\000\050\340\000\004\000\000\000\024\174\022\016\144\011\040\004\000\200\041\121\076\004\001"},
+     "\000\050\340\000\004\000\000\000\024\174\022\016\304\022\100\010\000\000\103\242\174\010\002"},
     {270, "simple_stmt", 0, 4, states_14,
-     "\000\040\200\000\004\000\000\000\024\174\022\016\000\000\040\004\000\200\041\121\076\000\001"},
+     "\000\040\200\000\004\000\000\000\024\174\022\016\000\000\100\010\000\000\103\242\174\000\002"},
     {271, "small_stmt", 0, 2, states_15,
-     "\000\040\200\000\004\000\000\000\024\174\022\016\000\000\040\004\000\200\041\121\076\000\001"},
+     "\000\040\200\000\004\000\000\000\024\174\022\016\000\000\100\010\000\000\103\242\174\000\002"},
     {272, "expr_stmt", 0, 6, states_16,
-     "\000\040\200\000\004\000\000\000\000\000\020\000\000\000\040\004\000\200\041\121\076\000\000"},
+     "\000\040\200\000\004\000\000\000\000\000\020\000\000\000\100\010\000\000\103\242\174\000\000"},
     {273, "annassign", 0, 5, states_17,
      "\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
     {274, "testlist_star_expr", 0, 3, states_18,
-     "\000\040\200\000\004\000\000\000\000\000\020\000\000\000\040\004\000\200\041\121\076\000\000"},
+     "\000\040\200\000\004\000\000\000\000\000\020\000\000\000\100\010\000\000\103\242\174\000\000"},
     {275, "augassign", 0, 2, states_19,
      "\000\000\000\000\000\000\340\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
     {276, "del_stmt", 0, 3, states_20,
@@ -2124,7 +2148,7 @@ static dfa dfas[90] = {
     {277, "pass_stmt", 0, 2, states_21,
      "\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
     {278, "flow_stmt", 0, 2, states_22,
-     "\000\000\000\000\000\000\000\000\000\074\000\000\000\000\000\000\000\000\000\000\000\000\001"},
+     "\000\000\000\000\000\000\000\000\000\074\000\000\000\000\000\000\000\000\000\000\000\000\002"},
     {279, "break_stmt", 0, 2, states_23,
      "\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000"},
     {280, "continue_stmt", 0, 2, states_24,
@@ -2132,7 +2156,7 @@ static dfa dfas[90] = {
     {281, "return_stmt", 0, 3, states_25,
      "\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000"},
     {282, "yield_stmt", 0, 2, states_26,
-     "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001"},
+     "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002"},
     {283, "raise_stmt", 0, 5, states_27,
      "\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000"},
     {284, "import_stmt", 0, 2, states_28,
@@ -2158,109 +2182,111 @@ static dfa dfas[90] = {
     {294, "assert_stmt", 0, 5, states_38,
      "\000\000\000\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000"},
     {295, "compound_stmt", 0, 2, states_39,
-     "\000\010\140\000\000\000\000\000\000\000\000\000\144\011\000\000\000\000\000\000\000\004\000"},
+     "\000\010\140\000\000\000\000\000\000\000\000\000\304\022\000\000\000\000\000\000\000\010\000"},
     {296, "async_stmt", 0, 3, states_40,
      "\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
     {297, "if_stmt", 0, 8, states_41,
      "\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000"},
     {298, "while_stmt", 0, 8, states_42,
-     "\000\000\000\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000"},
-    {299, "for_stmt", 0, 11, states_43,
      "\000\000\000\000\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000\000"},
+    {299, "for_stmt", 0, 11, states_43,
+     "\000\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000"},
     {300, "try_stmt", 0, 13, states_44,
-     "\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000"},
+     "\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000"},
     {301, "with_stmt", 0, 6, states_45,
-     "\000\000\000\000\000\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\000"},
+     "\000\000\000\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000"},
     {302, "with_item", 0, 4, states_46,
-     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\040\004\000\200\041\121\076\000\000"},
+     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\100\010\000\000\103\242\174\000\000"},
     {303, "except_clause", 0, 5, states_47,
-     "\000\000\000\000\000\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000"},
-    {304, "suite", 0, 7, states_48,
-     "\004\040\200\000\004\000\000\000\024\174\022\016\000\000\040\004\000\200\041\121\076\000\001"},
-    {305, "test", 0, 6, states_49,
-     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\040\004\000\200\041\121\076\000\000"},
-    {306, "test_nocond", 0, 2, states_50,
-     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\040\004\000\200\041\121\076\000\000"},
-    {307, "lambdef", 0, 5, states_51,
-     "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000"},
-    {308, "lambdef_nocond", 0, 5, states_52,
-     "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000"},
-    {309, "or_test", 0, 2, states_53,
-     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\004\000\200\041\121\076\000\000"},
-    {310, "and_test", 0, 2, states_54,
-     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\004\000\200\041\121\076\000\000"},
-    {311, "not_test", 0, 3, states_55,
-     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\004\000\200\041\121\076\000\000"},
-    {312, "comparison", 0, 2, states_56,
-     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\000\000\200\041\121\076\000\000"},
-    {313, "comp_op", 0, 4, states_57,
-     "\000\000\000\000\000\000\000\000\000\000\000\000\200\000\000\344\037\000\000\000\000\000\000"},
-    {314, "star_expr", 0, 3, states_58,
+     "\000\000\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000"},
+    {304, "func_body_suite", 0, 7, states_48,
+     "\004\040\200\000\004\000\000\000\024\174\022\016\000\000\100\010\000\000\103\242\174\000\002"},
+    {305, "suite", 0, 5, states_49,
+     "\004\040\200\000\004\000\000\000\024\174\022\016\000\000\100\010\000\000\103\242\174\000\002"},
+    {306, "test", 0, 6, states_50,
+     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\100\010\000\000\103\242\174\000\000"},
+    {307, "test_nocond", 0, 2, states_51,
+     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\100\010\000\000\103\242\174\000\000"},
+    {308, "lambdef", 0, 5, states_52,
+     "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000"},
+    {309, "lambdef_nocond", 0, 5, states_53,
+     "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000"},
+    {310, "or_test", 0, 2, states_54,
+     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\010\000\000\103\242\174\000\000"},
+    {311, "and_test", 0, 2, states_55,
+     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\010\000\000\103\242\174\000\000"},
+    {312, "not_test", 0, 3, states_56,
+     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\010\000\000\103\242\174\000\000"},
+    {313, "comparison", 0, 2, states_57,
+     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\103\242\174\000\000"},
+    {314, "comp_op", 0, 4, states_58,
+     "\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\310\077\000\000\000\000\000\000"},
+    {315, "star_expr", 0, 3, states_59,
      "\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-    {315, "expr", 0, 2, states_59,
-     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\000\000\200\041\121\076\000\000"},
-    {316, "xor_expr", 0, 2, states_60,
-     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\000\000\200\041\121\076\000\000"},
-    {317, "and_expr", 0, 2, states_61,
-     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\000\000\200\041\121\076\000\000"},
-    {318, "shift_expr", 0, 2, states_62,
-     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\000\000\200\041\121\076\000\000"},
-    {319, "arith_expr", 0, 2, states_63,
-     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\000\000\200\041\121\076\000\000"},
-    {320, "term", 0, 2, states_64,
-     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\000\000\200\041\121\076\000\000"},
-    {321, "factor", 0, 3, states_65,
-     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\000\000\200\041\121\076\000\000"},
-    {322, "power", 0, 4, states_66,
-     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\121\076\000\000"},
-    {323, "atom_expr", 0, 3, states_67,
-     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\121\076\000\000"},
-    {324, "atom", 0, 9, states_68,
-     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\120\076\000\000"},
-    {325, "testlist_comp", 0, 5, states_69,
-     "\000\040\200\000\004\000\000\000\000\000\020\000\000\000\040\004\000\200\041\121\076\000\000"},
-    {326, "trailer", 0, 7, states_70,
-     "\000\040\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\020\000\000\000"},
-    {327, "subscriptlist", 0, 3, states_71,
-     "\000\040\200\010\000\000\000\000\000\000\020\000\000\000\040\004\000\200\041\121\076\000\000"},
-    {328, "subscript", 0, 5, states_72,
-     "\000\040\200\010\000\000\000\000\000\000\020\000\000\000\040\004\000\200\041\121\076\000\000"},
-    {329, "sliceop", 0, 3, states_73,
+    {316, "expr", 0, 2, states_60,
+     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\103\242\174\000\000"},
+    {317, "xor_expr", 0, 2, states_61,
+     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\103\242\174\000\000"},
+    {318, "and_expr", 0, 2, states_62,
+     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\103\242\174\000\000"},
+    {319, "shift_expr", 0, 2, states_63,
+     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\103\242\174\000\000"},
+    {320, "arith_expr", 0, 2, states_64,
+     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\103\242\174\000\000"},
+    {321, "term", 0, 2, states_65,
+     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\103\242\174\000\000"},
+    {322, "factor", 0, 3, states_66,
+     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\103\242\174\000\000"},
+    {323, "power", 0, 4, states_67,
+     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\242\174\000\000"},
+    {324, "atom_expr", 0, 3, states_68,
+     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\242\174\000\000"},
+    {325, "atom", 0, 9, states_69,
+     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\240\174\000\000"},
+    {326, "testlist_comp", 0, 5, states_70,
+     "\000\040\200\000\004\000\000\000\000\000\020\000\000\000\100\010\000\000\103\242\174\000\000"},
+    {327, "trailer", 0, 7, states_71,
+     "\000\040\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\040\000\000\000"},
+    {328, "subscriptlist", 0, 3, states_72,
+     "\000\040\200\010\000\000\000\000\000\000\020\000\000\000\100\010\000\000\103\242\174\000\000"},
+    {329, "subscript", 0, 5, states_73,
+     "\000\040\200\010\000\000\000\000\000\000\020\000\000\000\100\010\000\000\103\242\174\000\000"},
+    {330, "sliceop", 0, 3, states_74,
      "\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-    {330, "exprlist", 0, 3, states_74,
-     "\000\040\200\000\004\000\000\000\000\000\020\000\000\000\000\000\000\200\041\121\076\000\000"},
-    {331, "testlist", 0, 3, states_75,
-     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\040\004\000\200\041\121\076\000\000"},
-    {332, "dictorsetmaker", 0, 14, states_76,
-     "\000\040\200\000\014\000\000\000\000\000\020\000\000\000\040\004\000\200\041\121\076\000\000"},
-    {333, "classdef", 0, 8, states_77,
-     "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000"},
-    {334, "arglist", 0, 3, states_78,
-     "\000\040\200\000\014\000\000\000\000\000\020\000\000\000\040\004\000\200\041\121\076\000\000"},
-    {335, "argument", 0, 4, states_79,
-     "\000\040\200\000\014\000\000\000\000\000\020\000\000\000\040\004\000\200\041\121\076\000\000"},
-    {336, "comp_iter", 0, 2, states_80,
-     "\000\000\040\000\000\000\000\000\000\000\000\000\104\000\000\000\000\000\000\000\000\000\000"},
-    {337, "sync_comp_for", 0, 6, states_81,
-     "\000\000\000\000\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000\000"},
-    {338, "comp_for", 0, 3, states_82,
-     "\000\000\040\000\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000\000"},
-    {339, "comp_if", 0, 4, states_83,
+    {331, "exprlist", 0, 3, states_75,
+     "\000\040\200\000\004\000\000\000\000\000\020\000\000\000\000\000\000\000\103\242\174\000\000"},
+    {332, "testlist", 0, 3, states_76,
+     "\000\040\200\000\000\000\000\000\000\000\020\000\000\000\100\010\000\000\103\242\174\000\000"},
+    {333, "dictorsetmaker", 0, 14, states_77,
+     "\000\040\200\000\014\000\000\000\000\000\020\000\000\000\100\010\000\000\103\242\174\000\000"},
+    {334, "classdef", 0, 8, states_78,
+     "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\010\000"},
+    {335, "arglist", 0, 3, states_79,
+     "\000\040\200\000\014\000\000\000\000\000\020\000\000\000\100\010\000\000\103\242\174\000\000"},
+    {336, "argument", 0, 4, states_80,
+     "\000\040\200\000\014\000\000\000\000\000\020\000\000\000\100\010\000\000\103\242\174\000\000"},
+    {337, "comp_iter", 0, 2, states_81,
+     "\000\000\040\000\000\000\000\000\000\000\000\000\204\000\000\000\000\000\000\000\000\000\000"},
+    {338, "sync_comp_for", 0, 6, states_82,
+     "\000\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000"},
+    {339, "comp_for", 0, 3, states_83,
+     "\000\000\040\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000"},
+    {340, "comp_if", 0, 4, states_84,
      "\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000"},
-    {340, "encoding_decl", 0, 2, states_84,
+    {341, "encoding_decl", 0, 2, states_85,
      "\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-    {341, "yield_expr", 0, 3, states_85,
-     "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001"},
-    {342, "yield_arg", 0, 3, states_86,
-     "\000\040\200\000\004\000\000\000\000\100\020\000\000\000\040\004\000\200\041\121\076\000\000"},
-    {343, "func_type_input", 0, 3, states_87,
+    {342, "yield_expr", 0, 3, states_86,
+     "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002"},
+    {343, "yield_arg", 0, 3, states_87,
+     "\000\040\200\000\004\000\000\000\000\100\020\000\000\000\100\010\000\000\103\242\174\000\000"},
+    {344, "func_type_input", 0, 3, states_88,
      "\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-    {344, "func_type", 0, 6, states_88,
+    {345, "func_type", 0, 6, states_89,
      "\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-    {345, "typelist", 0, 11, states_89,
-     "\000\040\200\000\014\000\000\000\000\000\020\000\000\000\040\004\000\200\041\121\076\000\000"},
+    {346, "typelist", 0, 11, states_90,
+     "\000\040\200\000\014\000\000\000\000\000\020\000\000\000\100\010\000\000\103\242\174\000\000"},
 };
-static label labels[181] = {
+static label labels[182] = {
     {0, "EMPTY"},
     {256, 0},
     {4, 0},
@@ -2270,16 +2296,16 @@ static label labels[181] = {
     {269, 0},
     {0, 0},
     {258, 0},
-    {331, 0},
+    {332, 0},
     {259, 0},
     {49, 0},
     {291, 0},
     {7, 0},
-    {334, 0},
+    {335, 0},
     {8, 0},
     {260, 0},
     {261, 0},
-    {333, 0},
+    {334, 0},
     {263, 0},
     {262, 0},
     {1, "async"},
@@ -2287,7 +2313,7 @@ static label labels[181] = {
     {1, 0},
     {264, 0},
     {51, 0},
-    {305, 0},
+    {306, 0},
     {11, 0},
     {55, 0},
     {304, 0},
@@ -2312,8 +2338,8 @@ static label labels[181] = {
     {274, 0},
     {273, 0},
     {275, 0},
-    {341, 0},
-    {314, 0},
+    {342, 0},
+    {315, 0},
     {36, 0},
     {37, 0},
     {38, 0},
@@ -2328,7 +2354,7 @@ static label labels[181] = {
     {46, 0},
     {48, 0},
     {1, "del"},
-    {330, 0},
+    {331, 0},
     {1, "pass"},
     {279, 0},
     {280, 0},
@@ -2360,6 +2386,7 @@ static label labels[181] = {
     {301, 0},
     {296, 0},
     {1, "if"},
+    {305, 0},
     {1, "elif"},
     {1, "else"},
     {1, "while"},
@@ -2370,22 +2397,22 @@ static label labels[181] = {
     {1, "finally"},
     {1, "with"},
     {302, 0},
-    {315, 0},
+    {316, 0},
     {1, "except"},
     {5, 0},
     {6, 0},
-    {309, 0},
-    {307, 0},
-    {306, 0},
+    {310, 0},
     {308, 0},
+    {307, 0},
+    {309, 0},
     {1, "lambda"},
-    {310, 0},
-    {1, "or"},
     {311, 0},
+    {1, "or"},
+    {312, 0},
     {1, "and"},
     {1, "not"},
-    {312, 0},
     {313, 0},
+    {314, 0},
     {20, 0},
     {21, 0},
     {27, 0},
@@ -2394,58 +2421,58 @@ static label labels[181] = {
     {28, 0},
     {28, 0},
     {1, "is"},
-    {316, 0},
-    {18, 0},
     {317, 0},
-    {32, 0},
+    {18, 0},
     {318, 0},
-    {19, 0},
+    {32, 0},
     {319, 0},
+    {19, 0},
+    {320, 0},
     {33, 0},
     {34, 0},
-    {320, 0},
+    {321, 0},
     {14, 0},
     {15, 0},
-    {321, 0},
+    {322, 0},
     {17, 0},
     {24, 0},
     {47, 0},
     {31, 0},
-    {322, 0},
     {323, 0},
-    {1, "await"},
     {324, 0},
-    {326, 0},
+    {1, "await"},
     {325, 0},
+    {327, 0},
+    {326, 0},
     {9, 0},
     {10, 0},
     {25, 0},
-    {332, 0},
+    {333, 0},
     {26, 0},
     {2, 0},
     {3, 0},
     {1, "None"},
     {1, "True"},
     {1, "False"},
-    {338, 0},
-    {327, 0},
+    {339, 0},
     {328, 0},
     {329, 0},
+    {330, 0},
     {1, "class"},
-    {335, 0},
     {336, 0},
-    {339, 0},
     {337, 0},
     {340, 0},
+    {338, 0},
+    {341, 0},
     {1, "yield"},
-    {342, 0},
     {343, 0},
     {344, 0},
     {345, 0},
+    {346, 0},
 };
 grammar _PyParser_Grammar = {
-    90,
+    91,
     dfas,
-    {181, labels},
+    {182, labels},
     256
 };