diff -r f2d955afad8a Grammar/Grammar --- a/Grammar/Grammar Sat Aug 17 21:43:47 2013 +0200 +++ b/Grammar/Grammar Mon Aug 19 23:41:29 2013 -0500 @@ -37,12 +37,20 @@ simple_stmt: small_stmt (';' small_stmt)* [';'] NEWLINE small_stmt: (expr_stmt | del_stmt | pass_stmt | flow_stmt | import_stmt | global_stmt | nonlocal_stmt | assert_stmt) -expr_stmt: testlist_star_expr (augassign (yield_expr|testlist) | - ('=' (yield_expr|testlist_star_expr))*) + +expr_stmt: testlist_star_expr [(augassign_stmt_trailer | + assign_stmt_trailer | + implicit_arglist)] testlist_star_expr: (test|star_expr) (',' (test|star_expr))* [','] +augassign_stmt_trailer: augassign (yield_expr|testlist) augassign: ('+=' | '-=' | '*=' | '/=' | '%=' | '&=' | '|=' | '^=' | '<<=' | '>>=' | '**=' | '//=') -# For normal assignments, additional restrictions enforced by the interpreter +# For normal assignments, additional LHS restrictions enforced by compiler +assign_stmt_trailer: ('=' (yield_expr|testlist_star_expr))+ +# Implicit arglists are currently identical to normal ones +# May want to change that to require parens on generator expressions +implicit_arglist: arglist + del_stmt: 'del' exprlist pass_stmt: 'pass' flow_stmt: break_stmt | continue_stmt | return_stmt | raise_stmt | yield_stmt @@ -105,7 +113,7 @@ '{' [dictorsetmaker] '}' | NAME | NUMBER | STRING+ | '...' | 'None' | 'True' | 'False') testlist_comp: (test|star_expr) ( comp_for | (',' (test|star_expr))* [','] ) -trailer: '(' [arglist] ')' | '[' subscriptlist ']' | '.' NAME +trailer: '(' [arglist] ')' | '[' subscriptlist ']' | '.' NAME | '{' '}' subscriptlist: subscript (',' subscript)* [','] subscript: test | [test] ':' [test] [sliceop] sliceop: ':' [test] diff -r f2d955afad8a Include/graminit.h --- a/Include/graminit.h Sat Aug 17 21:43:47 2013 +0200 +++ b/Include/graminit.h Mon Aug 19 23:41:29 2013 -0500 @@ -17,68 +17,71 @@ #define small_stmt 270 #define expr_stmt 271 #define testlist_star_expr 272 -#define augassign 273 -#define del_stmt 274 -#define pass_stmt 275 -#define flow_stmt 276 -#define break_stmt 277 -#define continue_stmt 278 -#define return_stmt 279 -#define yield_stmt 280 -#define raise_stmt 281 -#define import_stmt 282 -#define import_name 283 -#define import_from 284 -#define import_as_name 285 -#define dotted_as_name 286 -#define import_as_names 287 -#define dotted_as_names 288 -#define dotted_name 289 -#define global_stmt 290 -#define nonlocal_stmt 291 -#define assert_stmt 292 -#define compound_stmt 293 -#define if_stmt 294 -#define while_stmt 295 -#define for_stmt 296 -#define try_stmt 297 -#define with_stmt 298 -#define with_item 299 -#define except_clause 300 -#define suite 301 -#define test 302 -#define test_nocond 303 -#define lambdef 304 -#define lambdef_nocond 305 -#define or_test 306 -#define and_test 307 -#define not_test 308 -#define comparison 309 -#define comp_op 310 -#define star_expr 311 -#define expr 312 -#define xor_expr 313 -#define and_expr 314 -#define shift_expr 315 -#define arith_expr 316 -#define term 317 -#define factor 318 -#define power 319 -#define atom 320 -#define testlist_comp 321 -#define trailer 322 -#define subscriptlist 323 -#define subscript 324 -#define sliceop 325 -#define exprlist 326 -#define testlist 327 -#define dictorsetmaker 328 -#define classdef 329 -#define arglist 330 -#define argument 331 -#define comp_iter 332 -#define comp_for 333 -#define comp_if 334 -#define encoding_decl 335 -#define yield_expr 336 -#define yield_arg 337 +#define augassign_stmt_trailer 273 +#define augassign 274 +#define assign_stmt_trailer 275 +#define implicit_arglist 276 +#define del_stmt 277 +#define pass_stmt 278 +#define flow_stmt 279 +#define break_stmt 280 +#define continue_stmt 281 +#define return_stmt 282 +#define yield_stmt 283 +#define raise_stmt 284 +#define import_stmt 285 +#define import_name 286 +#define import_from 287 +#define import_as_name 288 +#define dotted_as_name 289 +#define import_as_names 290 +#define dotted_as_names 291 +#define dotted_name 292 +#define global_stmt 293 +#define nonlocal_stmt 294 +#define assert_stmt 295 +#define compound_stmt 296 +#define if_stmt 297 +#define while_stmt 298 +#define for_stmt 299 +#define try_stmt 300 +#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 323 +#define testlist_comp 324 +#define trailer 325 +#define subscriptlist 326 +#define subscript 327 +#define sliceop 328 +#define exprlist 329 +#define testlist 330 +#define dictorsetmaker 331 +#define classdef 332 +#define arglist 333 +#define argument 334 +#define comp_iter 335 +#define comp_for 336 +#define comp_if 337 +#define encoding_decl 338 +#define yield_expr 339 +#define yield_arg 340 diff -r f2d955afad8a Lib/test/test_ast.py --- a/Lib/test/test_ast.py Sat Aug 17 21:43:47 2013 +0200 +++ b/Lib/test/test_ast.py Mon Aug 19 23:41:29 2013 -0500 @@ -241,9 +241,10 @@ (single_tests, single_results, "single"), (eval_tests, eval_results, "eval")): for i, o in zip(input, output): - ast_tree = compile(i, "?", kind, ast.PyCF_ONLY_AST) - self.assertEqual(to_tuple(ast_tree), o) - self._assertTrueorder(ast_tree, (0, 0)) + with self.subTest(input=i, output=o, kind=kind): + ast_tree = compile(i, "?", kind, ast.PyCF_ONLY_AST) + self.assertEqual(to_tuple(ast_tree), o) + self._assertTrueorder(ast_tree, (0, 0)) def test_slice(self): slc = ast.parse("x[::]").body[0].value.slice diff -r f2d955afad8a Lib/test/test_codeop.py --- a/Lib/test/test_codeop.py Sat Aug 17 21:43:47 2013 +0200 +++ b/Lib/test/test_codeop.py Mon Aug 19 23:41:29 2013 -0500 @@ -122,6 +122,8 @@ av("def f():\n pass\n#foo\n") av("@a.b.c\ndef f():\n pass\n") + av("a b") + def test_incomplete(self): ai = self.assertIncomplete @@ -252,7 +254,6 @@ def test_invalid(self): ai = self.assertInvalid - ai("a b") ai("a @") ai("a b @") diff -r f2d955afad8a Lib/test/test_future.py --- a/Lib/test/test_future.py Sat Aug 17 21:43:47 2013 +0200 +++ b/Lib/test/test_future.py Mon Aug 19 23:41:29 2013 -0500 @@ -90,21 +90,24 @@ else: self.fail("expected exception didn't occur") - def test_parserhack(self): + def test_parserhack_disabled(self): # test that the parser.c::future_hack function works as expected - # Note: although this test must pass, it's not testing the original - # bug as of 2.6 since the with statement is not optional and - # the parser hack disabled. If a new keyword is introduced in - # 2.6, change this to refer to the new future import. + # When there are no valid future imports, we check that it is + # *disabled* + # When there is a valid future import defined, modify this to + # check that it is *enabled* instead + # Note: We use the PEP 401 April Fool's joke to check this, since + # that will never become default behaviour. I bet Brett + # never expected *that* to find a valid use case! try: - exec("from __future__ import print_function; print 0") + exec("from __future__ import barry_as_FLUFL; 1 <> 2") except SyntaxError: pass else: self.fail("syntax error didn't occur") try: - exec("from __future__ import (print_function); print 0") + exec("from __future__ import (barry_as_FLUFL); 1 <> 2") except SyntaxError: pass else: diff -r f2d955afad8a Lib/test/test_grammar.py --- a/Lib/test/test_grammar.py Sat Aug 17 21:43:47 2013 +0200 +++ b/Lib/test/test_grammar.py Mon Aug 19 23:41:29 2013 -0500 @@ -377,6 +377,43 @@ check_syntax_error(self, "x + 1 = 1") check_syntax_error(self, "a + 1 = b + 2") + def test_implicit_calls(self): + def f(*args, **kwds): + self.assertEqual(args, expected_args) + self.assertEqual(kwds, expected_kwds) + + expected_args = (123, "abc") + expected_kwds = {} + f 123, "abc" + f 123, *["abc"] + expected_kwds = {"foo":"bar"} + f 123, "abc", foo="bar" + f 123, "abc", **dict(foo="bar") + expected_args = () + f foo="bar" + + # See comment in Grammar/Grammar - likely want to change + # definition of implicit_arglist to require parens in this case + def f2(genexp): + self.assertEqual(tuple(genexp), expected_args) + expected_args = tuple(x**2 for x in range(10)) + f2 x**2 for x in range(10) + + + # Ensure expr{} is reserved for future use + try: + exec("f {}") + except SyntaxError: + pass + else: + self.fail("Implicit call permitted with trailing braces") + try: + exec("f {'foo': 'bar'}") + except SyntaxError: + pass + else: + self.fail("Implicit call permitted with trailing braces") + def test_del_stmt(self): # 'del' exprlist abc = [1,2,3] diff -r f2d955afad8a Lib/test/test_import.py --- a/Lib/test/test_import.py Sat Aug 17 21:43:47 2013 +0200 +++ b/Lib/test/test_import.py Mon Aug 19 23:41:29 2013 -0500 @@ -969,7 +969,7 @@ # A few more examples from issue #15425 def test_syntax_error(self): - self.create_module("foo", "invalid syntax is invalid") + self.create_module("foo", "import go boom") try: import foo except SyntaxError as e: diff -r f2d955afad8a Lib/test/test_parser.py --- a/Lib/test/test_parser.py Sat Aug 17 21:43:47 2013 +0200 +++ b/Lib/test/test_parser.py Mon Aug 19 23:41:29 2013 -0500 @@ -29,7 +29,7 @@ self.roundtrip(parser.expr, s) def test_flags_passed(self): - # The unicode literals flags has to be passed from the paser to AST + # The unicode literals flags has to be passed from the parser to AST # generation. suite = parser.suite("from __future__ import unicode_literals; x = ''") code = suite.compile() @@ -119,6 +119,19 @@ # expr_stmt self.check_suite("a") + def test_implicit_call(self): + self.check_suite("list x**3 for x in range(20)") + self.check_suite("list x**3 for x in range(20) if x % 3") + self.check_suite("list x**3 for x in range(20) if x % 2 if x % 3") + self.check_suite("foo key=value") + self.check_suite("foo key=value, *args") + self.check_suite("foo key=value, *args, **kw") + self.check_suite("foo key=value, **kw") + self.check_suite("foo a, b, c, *args") + self.check_suite("foo a, b, c, *args, **kw") + self.check_suite("foo a, b, c, **kw") + self.check_suite("foo a, *args, keyword=23") + def test_simple_assignments(self): self.check_suite("a = b") self.check_suite("a = b = c = d = e") diff -r f2d955afad8a Lib/test/test_source_encoding.py --- a/Lib/test/test_source_encoding.py Sat Aug 17 21:43:47 2013 +0200 +++ b/Lib/test/test_source_encoding.py Mon Aug 19 23:41:29 2013 -0500 @@ -27,9 +27,9 @@ def test_issue2301(self): try: - compile(b"# coding: cp932\nprint '\x94\x4e'", "dummy", "exec") + compile(b"# coding: cp932\nprint '\x94\x4e' bad", "dummy", "exec") except SyntaxError as v: - self.assertEqual(v.text, "print '\u5e74'\n") + self.assertEqual(v.text, "print '\u5e74' bad\n") else: self.fail() diff -r f2d955afad8a Modules/parsermodule.c --- a/Modules/parsermodule.c Sat Aug 17 21:43:47 2013 +0200 +++ b/Modules/parsermodule.c Mon Aug 19 23:41:29 2013 -0500 @@ -1590,44 +1590,84 @@ } static int -validate_expr_stmt(node *tree) +validate_augassign_stmt_trailer(node *tree) +{ + int nch = NCH(tree); + int res = validate_ntype(tree, augassign_stmt_trailer) && + validate_numnodes(tree, 2, "augassign") && + validate_yield_or_testlist(CHILD(tree, 1), 0); + + if (res) { + char *s = STR(CHILD(CHILD(tree, 0), 0)); + + res = (strcmp(s, "+=") == 0 + || strcmp(s, "-=") == 0 + || strcmp(s, "*=") == 0 + || strcmp(s, "/=") == 0 + || strcmp(s, "//=") == 0 + || strcmp(s, "%=") == 0 + || strcmp(s, "&=") == 0 + || strcmp(s, "|=") == 0 + || strcmp(s, "^=") == 0 + || strcmp(s, "<<=") == 0 + || strcmp(s, ">>=") == 0 + || strcmp(s, "**=") == 0); + if (!res) + err_string("illegal augmented assignment operator"); + } + return res; +} + +static int +validate_assign_stmt_trailer(node *tree) { int j; int nch = NCH(tree); + int res = validate_ntype(tree, assign_stmt_trailer) && + is_even(nch) && (nch >= 2); + + for (j = 0; res && (j < nch); j += 2) + res = validate_equal(CHILD(tree, j)) && + validate_yield_or_testlist(CHILD(tree, j + 1), 1); + return res; +} + +static int +validate_implicit_arglist(node *tree) +{ + return (validate_ntype(tree, implicit_arglist) && + validate_numnodes(tree, 1, "implicit_arglist") && + validate_arglist(CHILD(tree, 0))); +} + +static int +validate_expr_stmt(node *tree) +{ + int nch = NCH(tree); int res = (validate_ntype(tree, expr_stmt) - && is_odd(nch) + && (nch == 1 || nch == 2) && validate_testlist_star_expr(CHILD(tree, 0))); - if (res && nch == 3 - && TYPE(CHILD(tree, 1)) == augassign) { - res = validate_numnodes(CHILD(tree, 1), 1, "augassign") - && validate_yield_or_testlist(CHILD(tree, 2), 0); - - if (res) { - char *s = STR(CHILD(CHILD(tree, 1), 0)); - - res = (strcmp(s, "+=") == 0 - || strcmp(s, "-=") == 0 - || strcmp(s, "*=") == 0 - || strcmp(s, "/=") == 0 - || strcmp(s, "//=") == 0 - || strcmp(s, "%=") == 0 - || strcmp(s, "&=") == 0 - || strcmp(s, "|=") == 0 - || strcmp(s, "^=") == 0 - || strcmp(s, "<<=") == 0 - || strcmp(s, ">>=") == 0 - || strcmp(s, "**=") == 0); - if (!res) - err_string("illegal augmented assignment operator"); + if (res && nch == 2) { + switch (TYPE(CHILD(tree, 1))) { + case augassign_stmt_trailer: + res = validate_numnodes(CHILD(tree, 0), 1, "augassign") && + validate_augassign_stmt_trailer(CHILD(tree, 1)); + break; + case assign_stmt_trailer: + res = validate_assign_stmt_trailer(CHILD(tree, 1)); + break; + case implicit_arglist: + res = validate_numnodes(CHILD(tree, 0), 1, "implicit_call") && + validate_implicit_arglist(CHILD(tree, 1)); + break; + default: + err_string("illegal expression trailer"); + res = 0; + break; } } - else { - for (j = 1; res && (j < nch); j += 2) - res = validate_equal(CHILD(tree, j)) - && validate_yield_or_testlist(CHILD(tree, j + 1), 1); - } - return (res); + return res; } diff -r f2d955afad8a Python/ast.c --- a/Python/ast.c Sat Aug 17 21:43:47 2013 +0200 +++ b/Python/ast.c Mon Aug 19 23:41:29 2013 -0500 @@ -2113,6 +2113,10 @@ return Attribute(left_expr, attr_id, Load, LINENO(CHILD(n, 1)), CHILD(n, 1)->n_col_offset, c->c_arena); } + else if (TYPE(CHILD(n, 0)) == LBRACE ) { + ast_error(c, CHILD(n, 0), "Braces not permitted for implicit call"); + return NULL; + } else { REQ(CHILD(n, 0), LSQB); REQ(CHILD(n, 2), RSQB); @@ -2542,8 +2546,10 @@ static expr_ty ast_for_testlist(struct compiling *c, const node* n) { - /* testlist_comp: test (comp_for | (',' test)* [',']) */ - /* testlist: test (',' test)* [','] */ + /* testlist_star_expr: (test|star_expr) (',' (test|star_expr))* [','] + star_expr: '*' expr + test: ... here starts the operator precedence dance + */ assert(NCH(n) > 0); if (TYPE(n) == testlist_comp) { if (NCH(n) > 1) @@ -2563,100 +2569,178 @@ } } + +static stmt_ty +ast_for_assign_stmt(struct compiling *c, const node* lhs, const node *n) +{ + int i; + asdl_seq *targets; + node *value; + expr_ty expression; + REQ(lhs, testlist_star_expr); + REQ(n, assign_stmt_trailer); + /* expr_stmt: testlist_star_expr [(augassign_stmt_trailer | + assign_stmt_trailer | + implicit_arglist)] + assign_stmt_trailer: ('=' (yield_expr|testlist_star_expr))+ + */ + + /* a normal assignment */ + REQ(CHILD(n, 0), EQUAL); + targets = asdl_seq_new(NCH(n) / 2, c->c_arena); + if (!targets) + return NULL; + for (i = 0; i < NCH(n) - 1; i += 2) { + expr_ty e; + const node *ch; + if (i == 0) { + ch = lhs; + } else { + ch = CHILD(n, i-1); + } + if (TYPE(ch) == yield_expr) { + ast_error(c, ch, "assignment to yield expression not possible"); + return NULL; + } + REQ(ch, testlist_star_expr); + e = ast_for_testlist(c, ch); + if (!e) + return NULL; + + /* set context to assign */ + if (!set_context(c, e, Store, ch)) + return NULL; + + asdl_seq_SET(targets, i / 2, e); + } + value = CHILD(n, NCH(n) - 1); + if (TYPE(value) == testlist_star_expr) + expression = ast_for_testlist(c, value); + else { + REQ(value, yield_expr); + expression = ast_for_expr(c, value); + } + if (!expression) + return NULL; + return Assign(targets, expression, + LINENO(lhs), lhs->n_col_offset, c->c_arena); +} + +static stmt_ty +ast_for_augassign_stmt(struct compiling *c, const node* lhs, const node *n) +{ + expr_ty expr1, expr2; + operator_ty newoperator; + node * rhs; + REQ(lhs, testlist_star_expr); + REQ(n, augassign_stmt_trailer); + /* expr_stmt: testlist_star_expr [(augassign_stmt_trailer | + assign_stmt_trailer | + implicit_arglist)] + augassign_stmt_trailer: augassign (yield_expr|testlist) + augassign: ('+=' | '-=' | '*=' | '/=' | '%=' | '&=' | '|=' | '^=' | + '<<=' | '>>=' | '**=' | '//=') + */ + expr1 = ast_for_testlist(c, lhs); + if (!expr1) + return NULL; + if(!set_context(c, expr1, Store, lhs)) + return NULL; + /* set_context checks that most expressions are not the left side. + Augmented assignments can only have a name, a subscript, or an + attribute on the left, though, so we have to explicitly check for + those. */ + switch (expr1->kind) { + case Name_kind: + case Attribute_kind: + case Subscript_kind: + break; + default: + ast_error(c, lhs, "illegal expression for augmented assignment"); + return NULL; + } + + rhs = CHILD(n, 1); + if (TYPE(rhs) == testlist) + expr2 = ast_for_testlist(c, rhs); + else + expr2 = ast_for_expr(c, rhs); + if (!expr2) + return NULL; + + newoperator = ast_for_augassign(c, CHILD(n, 0)); + if (!newoperator) + return NULL; + + return AugAssign(expr1, newoperator, expr2, + LINENO(lhs), lhs->n_col_offset, c->c_arena); +} + +static stmt_ty +ast_for_implicit_call(struct compiling *c, const node* f, const node *n) +{ + expr_ty callable; + REQ(f, testlist_star_expr); + REQ(n, implicit_arglist); + /* expr_stmt: testlist_star_expr [(augassign_stmt_trailer | + assign_stmt_trailer | + implicit_arglist)] + implicit_arglist: arglist + */ + + if (NCH(f) > 1) { + ast_error(c, f, "Cannot use tuple as callable in implicit call"); + return NULL; + } + + callable = ast_for_testlist(c, f); + if (!callable) + return NULL; + return ast_for_call(c, CHILD(n, 0), callable); +} + static stmt_ty ast_for_expr_stmt(struct compiling *c, const node *n) { + node *ch; REQ(n, expr_stmt); - /* expr_stmt: testlist_star_expr (augassign (yield_expr|testlist) - | ('=' (yield_expr|testlist))*) - testlist_star_expr: (test|star_expr) (',' test|star_expr)* [','] - augassign: '+=' | '-=' | '*=' | '/=' | '%=' | '&=' | '|=' | '^=' - | '<<=' | '>>=' | '**=' | '//=' - test: ... here starts the operator precendence dance + /* expr_stmt: testlist_star_expr [(augassign_stmt_trailer | + assign_stmt_trailer | + implicit_arglist)] + testlist_star_expr: (test|star_expr) (',' (test|star_expr))* [','] + augassign_stmt_trailer: augassign (yield_expr|testlist) + augassign: ('+=' | '-=' | '*=' | '/=' | '%=' | '&=' | '|=' | '^=' | + '<<=' | '>>=' | '**=' | '//=') + assign_stmt_trailer: ('=' (yield_expr|testlist_star_expr))+ + implicit_arglist: arglist + test: ... here starts the operator precedence dance */ if (NCH(n) == 1) { expr_ty e = ast_for_testlist(c, CHILD(n, 0)); if (!e) return NULL; - return Expr(e, LINENO(n), n->n_col_offset, c->c_arena); } - else if (TYPE(CHILD(n, 1)) == augassign) { - expr_ty expr1, expr2; - operator_ty newoperator; - node *ch = CHILD(n, 0); - - expr1 = ast_for_testlist(c, ch); - if (!expr1) + + assert(NCH(n) == 2); + ch = CHILD(n, 1); + if (TYPE(ch) == implicit_arglist) { + expr_ty e = ast_for_implicit_call(c, CHILD(n, 0), ch); + if (!e) return NULL; - if(!set_context(c, expr1, Store, ch)) - return NULL; - /* set_context checks that most expressions are not the left side. - Augmented assignments can only have a name, a subscript, or an - attribute on the left, though, so we have to explicitly check for - those. */ - switch (expr1->kind) { - case Name_kind: - case Attribute_kind: - case Subscript_kind: - break; - default: - ast_error(c, ch, "illegal expression for augmented assignment"); - return NULL; - } - - ch = CHILD(n, 2); - if (TYPE(ch) == testlist) - expr2 = ast_for_testlist(c, ch); - else - expr2 = ast_for_expr(c, ch); - if (!expr2) - return NULL; - - newoperator = ast_for_augassign(c, CHILD(n, 1)); - if (!newoperator) - return NULL; - - return AugAssign(expr1, newoperator, expr2, LINENO(n), n->n_col_offset, c->c_arena); + return Expr(e, LINENO(n), n->n_col_offset, c->c_arena); } - else { - int i; - asdl_seq *targets; - node *value; - expr_ty expression; - - /* a normal assignment */ - REQ(CHILD(n, 1), EQUAL); - targets = asdl_seq_new(NCH(n) / 2, c->c_arena); - if (!targets) - return NULL; - for (i = 0; i < NCH(n) - 2; i += 2) { - expr_ty e; - node *ch = CHILD(n, i); - if (TYPE(ch) == yield_expr) { - ast_error(c, ch, "assignment to yield expression not possible"); - return NULL; - } - e = ast_for_testlist(c, ch); - if (!e) - return NULL; - - /* set context to assign */ - if (!set_context(c, e, Store, CHILD(n, i))) - return NULL; - - asdl_seq_SET(targets, i / 2, e); - } - value = CHILD(n, NCH(n) - 1); - if (TYPE(value) == testlist_star_expr) - expression = ast_for_testlist(c, value); - else - expression = ast_for_expr(c, value); - if (!expression) - return NULL; - return Assign(targets, expression, LINENO(n), n->n_col_offset, c->c_arena); + if (TYPE(ch) == augassign_stmt_trailer) { + return ast_for_augassign_stmt(c, CHILD(n, 0), ch); } + if (TYPE(ch) == assign_stmt_trailer) { + return ast_for_assign_stmt(c, CHILD(n, 0), ch); + } + + PyErr_Format(PyExc_SystemError, + "unexpected expr_stmt child: %d", TYPE(ch)); + return NULL; } diff -r f2d955afad8a Python/graminit.c --- a/Python/graminit.c Sat Aug 17 21:43:47 2013 +0200 +++ b/Python/graminit.c Mon Aug 19 23:41:29 2013 -0500 @@ -430,37 +430,23 @@ static arc arcs_15_0[1] = { {45, 1}, }; -static arc arcs_15_1[3] = { +static arc arcs_15_1[4] = { {46, 2}, - {29, 3}, + {47, 2}, + {48, 2}, {0, 1}, }; -static arc arcs_15_2[2] = { - {47, 4}, - {9, 4}, +static arc arcs_15_2[1] = { + {0, 2}, }; -static arc arcs_15_3[2] = { - {47, 5}, - {45, 5}, -}; -static arc arcs_15_4[1] = { - {0, 4}, -}; -static arc arcs_15_5[2] = { - {29, 3}, - {0, 5}, -}; -static state states_15[6] = { +static state states_15[3] = { {1, arcs_15_0}, - {3, arcs_15_1}, - {2, arcs_15_2}, - {2, arcs_15_3}, - {1, arcs_15_4}, - {2, arcs_15_5}, + {4, arcs_15_1}, + {1, arcs_15_2}, }; static arc arcs_16_0[2] = { {24, 1}, - {48, 1}, + {49, 1}, }; static arc arcs_16_1[2] = { {30, 2}, @@ -468,7 +454,7 @@ }; static arc arcs_16_2[3] = { {24, 1}, - {48, 1}, + {49, 1}, {0, 2}, }; static state states_16[3] = { @@ -476,10 +462,22 @@ {2, arcs_16_1}, {3, arcs_16_2}, }; -static arc arcs_17_0[12] = { - {49, 1}, +static arc arcs_17_0[1] = { {50, 1}, - {51, 1}, +}; +static arc arcs_17_1[2] = { + {51, 2}, + {9, 2}, +}; +static arc arcs_17_2[1] = { + {0, 2}, +}; +static state states_17[3] = { + {1, arcs_17_0}, + {2, arcs_17_1}, + {1, arcs_17_2}, +}; +static arc arcs_18_0[12] = { {52, 1}, {53, 1}, {54, 1}, @@ -489,64 +487,59 @@ {58, 1}, {59, 1}, {60, 1}, + {61, 1}, + {62, 1}, + {63, 1}, }; -static arc arcs_17_1[1] = { +static arc arcs_18_1[1] = { {0, 1}, }; -static state states_17[2] = { - {12, arcs_17_0}, - {1, arcs_17_1}, +static state states_18[2] = { + {12, arcs_18_0}, + {1, arcs_18_1}, }; -static arc arcs_18_0[1] = { - {61, 1}, +static arc arcs_19_0[1] = { + {29, 1}, }; -static arc arcs_18_1[1] = { - {62, 2}, +static arc arcs_19_1[2] = { + {51, 2}, + {45, 2}, }; -static arc arcs_18_2[1] = { +static arc arcs_19_2[2] = { + {29, 1}, {0, 2}, }; -static state states_18[3] = { - {1, arcs_18_0}, - {1, arcs_18_1}, - {1, arcs_18_2}, +static state states_19[3] = { + {1, arcs_19_0}, + {2, arcs_19_1}, + {2, arcs_19_2}, }; -static arc arcs_19_0[1] = { - {63, 1}, -}; -static arc arcs_19_1[1] = { - {0, 1}, -}; -static state states_19[2] = { - {1, arcs_19_0}, - {1, arcs_19_1}, -}; -static arc arcs_20_0[5] = { - {64, 1}, - {65, 1}, - {66, 1}, - {67, 1}, - {68, 1}, +static arc arcs_20_0[1] = { + {14, 1}, }; static arc arcs_20_1[1] = { {0, 1}, }; static state states_20[2] = { - {5, arcs_20_0}, + {1, arcs_20_0}, {1, arcs_20_1}, }; static arc arcs_21_0[1] = { - {69, 1}, + {64, 1}, }; static arc arcs_21_1[1] = { - {0, 1}, + {65, 2}, }; -static state states_21[2] = { +static arc arcs_21_2[1] = { + {0, 2}, +}; +static state states_21[3] = { {1, arcs_21_0}, {1, arcs_21_1}, + {1, arcs_21_2}, }; static arc arcs_22_0[1] = { - {70, 1}, + {66, 1}, }; static arc arcs_22_1[1] = { {0, 1}, @@ -555,23 +548,22 @@ {1, arcs_22_0}, {1, arcs_22_1}, }; -static arc arcs_23_0[1] = { +static arc arcs_23_0[5] = { + {67, 1}, + {68, 1}, + {69, 1}, + {70, 1}, {71, 1}, }; -static arc arcs_23_1[2] = { - {9, 2}, +static arc arcs_23_1[1] = { {0, 1}, }; -static arc arcs_23_2[1] = { - {0, 2}, -}; -static state states_23[3] = { - {1, arcs_23_0}, - {2, arcs_23_1}, - {1, arcs_23_2}, +static state states_23[2] = { + {5, arcs_23_0}, + {1, arcs_23_1}, }; static arc arcs_24_0[1] = { - {47, 1}, + {72, 1}, }; static arc arcs_24_1[1] = { {0, 1}, @@ -581,1249 +573,1289 @@ {1, arcs_24_1}, }; static arc arcs_25_0[1] = { - {72, 1}, + {73, 1}, }; -static arc arcs_25_1[2] = { +static arc arcs_25_1[1] = { + {0, 1}, +}; +static state states_25[2] = { + {1, arcs_25_0}, + {1, arcs_25_1}, +}; +static arc arcs_26_0[1] = { + {74, 1}, +}; +static arc arcs_26_1[2] = { + {9, 2}, + {0, 1}, +}; +static arc arcs_26_2[1] = { + {0, 2}, +}; +static state states_26[3] = { + {1, arcs_26_0}, + {2, arcs_26_1}, + {1, arcs_26_2}, +}; +static arc arcs_27_0[1] = { + {51, 1}, +}; +static arc arcs_27_1[1] = { + {0, 1}, +}; +static state states_27[2] = { + {1, arcs_27_0}, + {1, arcs_27_1}, +}; +static arc arcs_28_0[1] = { + {75, 1}, +}; +static arc arcs_28_1[2] = { {24, 2}, {0, 1}, }; -static arc arcs_25_2[2] = { - {73, 3}, +static arc arcs_28_2[2] = { + {76, 3}, {0, 2}, }; -static arc arcs_25_3[1] = { +static arc arcs_28_3[1] = { {24, 4}, }; -static arc arcs_25_4[1] = { +static arc arcs_28_4[1] = { {0, 4}, }; -static state states_25[5] = { - {1, arcs_25_0}, - {2, arcs_25_1}, - {2, arcs_25_2}, - {1, arcs_25_3}, - {1, arcs_25_4}, +static state states_28[5] = { + {1, arcs_28_0}, + {2, arcs_28_1}, + {2, arcs_28_2}, + {1, arcs_28_3}, + {1, arcs_28_4}, }; -static arc arcs_26_0[2] = { - {74, 1}, - {75, 1}, +static arc arcs_29_0[2] = { + {77, 1}, + {78, 1}, }; -static arc arcs_26_1[1] = { +static arc arcs_29_1[1] = { {0, 1}, }; -static state states_26[2] = { - {2, arcs_26_0}, - {1, arcs_26_1}, +static state states_29[2] = { + {2, arcs_29_0}, + {1, arcs_29_1}, }; -static arc arcs_27_0[1] = { +static arc arcs_30_0[1] = { + {79, 1}, +}; +static arc arcs_30_1[1] = { + {80, 2}, +}; +static arc arcs_30_2[1] = { + {0, 2}, +}; +static state states_30[3] = { + {1, arcs_30_0}, + {1, arcs_30_1}, + {1, arcs_30_2}, +}; +static arc arcs_31_0[1] = { {76, 1}, }; -static arc arcs_27_1[1] = { - {77, 2}, -}; -static arc arcs_27_2[1] = { - {0, 2}, -}; -static state states_27[3] = { - {1, arcs_27_0}, - {1, arcs_27_1}, - {1, arcs_27_2}, -}; -static arc arcs_28_0[1] = { - {73, 1}, -}; -static arc arcs_28_1[3] = { - {78, 2}, - {79, 2}, +static arc arcs_31_1[3] = { + {81, 2}, + {82, 2}, {12, 3}, }; -static arc arcs_28_2[4] = { - {78, 2}, - {79, 2}, +static arc arcs_31_2[4] = { + {81, 2}, + {82, 2}, {12, 3}, - {76, 4}, + {79, 4}, }; -static arc arcs_28_3[1] = { - {76, 4}, +static arc arcs_31_3[1] = { + {79, 4}, }; -static arc arcs_28_4[3] = { +static arc arcs_31_4[3] = { {31, 5}, {13, 6}, - {80, 5}, + {83, 5}, }; -static arc arcs_28_5[1] = { +static arc arcs_31_5[1] = { {0, 5}, }; -static arc arcs_28_6[1] = { - {80, 7}, +static arc arcs_31_6[1] = { + {83, 7}, }; -static arc arcs_28_7[1] = { +static arc arcs_31_7[1] = { {15, 5}, }; -static state states_28[8] = { - {1, arcs_28_0}, - {3, arcs_28_1}, - {4, arcs_28_2}, - {1, arcs_28_3}, - {3, arcs_28_4}, - {1, arcs_28_5}, - {1, arcs_28_6}, - {1, arcs_28_7}, +static state states_31[8] = { + {1, arcs_31_0}, + {3, arcs_31_1}, + {4, arcs_31_2}, + {1, arcs_31_3}, + {3, arcs_31_4}, + {1, arcs_31_5}, + {1, arcs_31_6}, + {1, arcs_31_7}, }; -static arc arcs_29_0[1] = { +static arc arcs_32_0[1] = { {21, 1}, }; -static arc arcs_29_1[2] = { - {82, 2}, +static arc arcs_32_1[2] = { + {85, 2}, {0, 1}, }; -static arc arcs_29_2[1] = { +static arc arcs_32_2[1] = { {21, 3}, }; -static arc arcs_29_3[1] = { +static arc arcs_32_3[1] = { {0, 3}, }; -static state states_29[4] = { - {1, arcs_29_0}, - {2, arcs_29_1}, - {1, arcs_29_2}, - {1, arcs_29_3}, +static state states_32[4] = { + {1, arcs_32_0}, + {2, arcs_32_1}, + {1, arcs_32_2}, + {1, arcs_32_3}, }; -static arc arcs_30_0[1] = { +static arc arcs_33_0[1] = { {12, 1}, }; -static arc arcs_30_1[2] = { - {82, 2}, +static arc arcs_33_1[2] = { + {85, 2}, {0, 1}, }; -static arc arcs_30_2[1] = { +static arc arcs_33_2[1] = { {21, 3}, }; -static arc arcs_30_3[1] = { +static arc arcs_33_3[1] = { {0, 3}, }; -static state states_30[4] = { - {1, arcs_30_0}, - {2, arcs_30_1}, - {1, arcs_30_2}, - {1, arcs_30_3}, -}; -static arc arcs_31_0[1] = { - {81, 1}, -}; -static arc arcs_31_1[2] = { - {30, 2}, - {0, 1}, -}; -static arc arcs_31_2[2] = { - {81, 1}, - {0, 2}, -}; -static state states_31[3] = { - {1, arcs_31_0}, - {2, arcs_31_1}, - {2, arcs_31_2}, -}; -static arc arcs_32_0[1] = { - {83, 1}, -}; -static arc arcs_32_1[2] = { - {30, 0}, - {0, 1}, -}; -static state states_32[2] = { - {1, arcs_32_0}, - {2, arcs_32_1}, -}; -static arc arcs_33_0[1] = { - {21, 1}, -}; -static arc arcs_33_1[2] = { - {78, 0}, - {0, 1}, -}; -static state states_33[2] = { +static state states_33[4] = { {1, arcs_33_0}, {2, arcs_33_1}, + {1, arcs_33_2}, + {1, arcs_33_3}, }; static arc arcs_34_0[1] = { {84, 1}, }; -static arc arcs_34_1[1] = { - {21, 2}, +static arc arcs_34_1[2] = { + {30, 2}, + {0, 1}, }; static arc arcs_34_2[2] = { - {30, 1}, + {84, 1}, {0, 2}, }; static state states_34[3] = { {1, arcs_34_0}, - {1, arcs_34_1}, + {2, arcs_34_1}, {2, arcs_34_2}, }; static arc arcs_35_0[1] = { - {85, 1}, + {86, 1}, }; -static arc arcs_35_1[1] = { +static arc arcs_35_1[2] = { + {30, 0}, + {0, 1}, +}; +static state states_35[2] = { + {1, arcs_35_0}, + {2, arcs_35_1}, +}; +static arc arcs_36_0[1] = { + {21, 1}, +}; +static arc arcs_36_1[2] = { + {81, 0}, + {0, 1}, +}; +static state states_36[2] = { + {1, arcs_36_0}, + {2, arcs_36_1}, +}; +static arc arcs_37_0[1] = { + {87, 1}, +}; +static arc arcs_37_1[1] = { {21, 2}, }; -static arc arcs_35_2[2] = { +static arc arcs_37_2[2] = { {30, 1}, {0, 2}, }; -static state states_35[3] = { - {1, arcs_35_0}, - {1, arcs_35_1}, - {2, arcs_35_2}, +static state states_37[3] = { + {1, arcs_37_0}, + {1, arcs_37_1}, + {2, arcs_37_2}, }; -static arc arcs_36_0[1] = { - {86, 1}, +static arc arcs_38_0[1] = { + {88, 1}, }; -static arc arcs_36_1[1] = { +static arc arcs_38_1[1] = { + {21, 2}, +}; +static arc arcs_38_2[2] = { + {30, 1}, + {0, 2}, +}; +static state states_38[3] = { + {1, arcs_38_0}, + {1, arcs_38_1}, + {2, arcs_38_2}, +}; +static arc arcs_39_0[1] = { + {89, 1}, +}; +static arc arcs_39_1[1] = { {24, 2}, }; -static arc arcs_36_2[2] = { +static arc arcs_39_2[2] = { {30, 3}, {0, 2}, }; -static arc arcs_36_3[1] = { +static arc arcs_39_3[1] = { {24, 4}, }; -static arc arcs_36_4[1] = { +static arc arcs_39_4[1] = { {0, 4}, }; -static state states_36[5] = { - {1, arcs_36_0}, - {1, arcs_36_1}, - {2, arcs_36_2}, - {1, arcs_36_3}, - {1, arcs_36_4}, +static state states_39[5] = { + {1, arcs_39_0}, + {1, arcs_39_1}, + {2, arcs_39_2}, + {1, arcs_39_3}, + {1, arcs_39_4}, }; -static arc arcs_37_0[8] = { - {87, 1}, - {88, 1}, - {89, 1}, +static arc arcs_40_0[8] = { {90, 1}, {91, 1}, + {92, 1}, + {93, 1}, + {94, 1}, {19, 1}, {18, 1}, {17, 1}, }; -static arc arcs_37_1[1] = { +static arc arcs_40_1[1] = { {0, 1}, }; -static state states_37[2] = { - {8, arcs_37_0}, - {1, arcs_37_1}, +static state states_40[2] = { + {8, arcs_40_0}, + {1, arcs_40_1}, }; -static arc arcs_38_0[1] = { - {92, 1}, +static arc arcs_41_0[1] = { + {95, 1}, }; -static arc arcs_38_1[1] = { +static arc arcs_41_1[1] = { {24, 2}, }; -static arc arcs_38_2[1] = { +static arc arcs_41_2[1] = { {25, 3}, }; -static arc arcs_38_3[1] = { +static arc arcs_41_3[1] = { {26, 4}, }; -static arc arcs_38_4[3] = { - {93, 1}, - {94, 5}, +static arc arcs_41_4[3] = { + {96, 1}, + {97, 5}, {0, 4}, }; -static arc arcs_38_5[1] = { +static arc arcs_41_5[1] = { {25, 6}, }; -static arc arcs_38_6[1] = { +static arc arcs_41_6[1] = { {26, 7}, }; -static arc arcs_38_7[1] = { +static arc arcs_41_7[1] = { {0, 7}, }; -static state states_38[8] = { - {1, arcs_38_0}, - {1, arcs_38_1}, - {1, arcs_38_2}, - {1, arcs_38_3}, - {3, arcs_38_4}, - {1, arcs_38_5}, - {1, arcs_38_6}, - {1, arcs_38_7}, -}; -static arc arcs_39_0[1] = { - {95, 1}, -}; -static arc arcs_39_1[1] = { - {24, 2}, -}; -static arc arcs_39_2[1] = { - {25, 3}, -}; -static arc arcs_39_3[1] = { - {26, 4}, -}; -static arc arcs_39_4[2] = { - {94, 5}, - {0, 4}, -}; -static arc arcs_39_5[1] = { - {25, 6}, -}; -static arc arcs_39_6[1] = { - {26, 7}, -}; -static arc arcs_39_7[1] = { - {0, 7}, -}; -static state states_39[8] = { - {1, arcs_39_0}, - {1, arcs_39_1}, - {1, arcs_39_2}, - {1, arcs_39_3}, - {2, arcs_39_4}, - {1, arcs_39_5}, - {1, arcs_39_6}, - {1, arcs_39_7}, -}; -static arc arcs_40_0[1] = { - {96, 1}, -}; -static arc arcs_40_1[1] = { - {62, 2}, -}; -static arc arcs_40_2[1] = { - {97, 3}, -}; -static arc arcs_40_3[1] = { - {9, 4}, -}; -static arc arcs_40_4[1] = { - {25, 5}, -}; -static arc arcs_40_5[1] = { - {26, 6}, -}; -static arc arcs_40_6[2] = { - {94, 7}, - {0, 6}, -}; -static arc arcs_40_7[1] = { - {25, 8}, -}; -static arc arcs_40_8[1] = { - {26, 9}, -}; -static arc arcs_40_9[1] = { - {0, 9}, -}; -static state states_40[10] = { - {1, arcs_40_0}, - {1, arcs_40_1}, - {1, arcs_40_2}, - {1, arcs_40_3}, - {1, arcs_40_4}, - {1, arcs_40_5}, - {2, arcs_40_6}, - {1, arcs_40_7}, - {1, arcs_40_8}, - {1, arcs_40_9}, -}; -static arc arcs_41_0[1] = { - {98, 1}, -}; -static arc arcs_41_1[1] = { - {25, 2}, -}; -static arc arcs_41_2[1] = { - {26, 3}, -}; -static arc arcs_41_3[2] = { - {99, 4}, - {100, 5}, -}; -static arc arcs_41_4[1] = { - {25, 6}, -}; -static arc arcs_41_5[1] = { - {25, 7}, -}; -static arc arcs_41_6[1] = { - {26, 8}, -}; -static arc arcs_41_7[1] = { - {26, 9}, -}; -static arc arcs_41_8[4] = { - {99, 4}, - {94, 10}, - {100, 5}, - {0, 8}, -}; -static arc arcs_41_9[1] = { - {0, 9}, -}; -static arc arcs_41_10[1] = { - {25, 11}, -}; -static arc arcs_41_11[1] = { - {26, 12}, -}; -static arc arcs_41_12[2] = { - {100, 5}, - {0, 12}, -}; -static state states_41[13] = { +static state states_41[8] = { {1, arcs_41_0}, {1, arcs_41_1}, {1, arcs_41_2}, - {2, arcs_41_3}, - {1, arcs_41_4}, + {1, arcs_41_3}, + {3, arcs_41_4}, {1, arcs_41_5}, {1, arcs_41_6}, {1, arcs_41_7}, - {4, arcs_41_8}, - {1, arcs_41_9}, - {1, arcs_41_10}, - {1, arcs_41_11}, - {2, arcs_41_12}, }; static arc arcs_42_0[1] = { - {101, 1}, + {98, 1}, }; static arc arcs_42_1[1] = { - {102, 2}, + {24, 2}, }; -static arc arcs_42_2[2] = { - {30, 1}, +static arc arcs_42_2[1] = { {25, 3}, }; static arc arcs_42_3[1] = { {26, 4}, }; -static arc arcs_42_4[1] = { +static arc arcs_42_4[2] = { + {97, 5}, {0, 4}, }; -static state states_42[5] = { +static arc arcs_42_5[1] = { + {25, 6}, +}; +static arc arcs_42_6[1] = { + {26, 7}, +}; +static arc arcs_42_7[1] = { + {0, 7}, +}; +static state states_42[8] = { {1, arcs_42_0}, {1, arcs_42_1}, - {2, arcs_42_2}, + {1, arcs_42_2}, {1, arcs_42_3}, - {1, arcs_42_4}, + {2, arcs_42_4}, + {1, arcs_42_5}, + {1, arcs_42_6}, + {1, arcs_42_7}, }; static arc arcs_43_0[1] = { + {99, 1}, +}; +static arc arcs_43_1[1] = { + {65, 2}, +}; +static arc arcs_43_2[1] = { + {100, 3}, +}; +static arc arcs_43_3[1] = { + {9, 4}, +}; +static arc arcs_43_4[1] = { + {25, 5}, +}; +static arc arcs_43_5[1] = { + {26, 6}, +}; +static arc arcs_43_6[2] = { + {97, 7}, + {0, 6}, +}; +static arc arcs_43_7[1] = { + {25, 8}, +}; +static arc arcs_43_8[1] = { + {26, 9}, +}; +static arc arcs_43_9[1] = { + {0, 9}, +}; +static state states_43[10] = { + {1, arcs_43_0}, + {1, arcs_43_1}, + {1, arcs_43_2}, + {1, arcs_43_3}, + {1, arcs_43_4}, + {1, arcs_43_5}, + {2, arcs_43_6}, + {1, arcs_43_7}, + {1, arcs_43_8}, + {1, arcs_43_9}, +}; +static arc arcs_44_0[1] = { + {101, 1}, +}; +static arc arcs_44_1[1] = { + {25, 2}, +}; +static arc arcs_44_2[1] = { + {26, 3}, +}; +static arc arcs_44_3[2] = { + {102, 4}, + {103, 5}, +}; +static arc arcs_44_4[1] = { + {25, 6}, +}; +static arc arcs_44_5[1] = { + {25, 7}, +}; +static arc arcs_44_6[1] = { + {26, 8}, +}; +static arc arcs_44_7[1] = { + {26, 9}, +}; +static arc arcs_44_8[4] = { + {102, 4}, + {97, 10}, + {103, 5}, + {0, 8}, +}; +static arc arcs_44_9[1] = { + {0, 9}, +}; +static arc arcs_44_10[1] = { + {25, 11}, +}; +static arc arcs_44_11[1] = { + {26, 12}, +}; +static arc arcs_44_12[2] = { + {103, 5}, + {0, 12}, +}; +static state states_44[13] = { + {1, arcs_44_0}, + {1, arcs_44_1}, + {1, arcs_44_2}, + {2, arcs_44_3}, + {1, arcs_44_4}, + {1, arcs_44_5}, + {1, arcs_44_6}, + {1, arcs_44_7}, + {4, arcs_44_8}, + {1, arcs_44_9}, + {1, arcs_44_10}, + {1, arcs_44_11}, + {2, arcs_44_12}, +}; +static arc arcs_45_0[1] = { + {104, 1}, +}; +static arc arcs_45_1[1] = { + {105, 2}, +}; +static arc arcs_45_2[2] = { + {30, 1}, + {25, 3}, +}; +static arc arcs_45_3[1] = { + {26, 4}, +}; +static arc arcs_45_4[1] = { + {0, 4}, +}; +static state states_45[5] = { + {1, arcs_45_0}, + {1, arcs_45_1}, + {2, arcs_45_2}, + {1, arcs_45_3}, + {1, arcs_45_4}, +}; +static arc arcs_46_0[1] = { {24, 1}, }; -static arc arcs_43_1[2] = { - {82, 2}, +static arc arcs_46_1[2] = { + {85, 2}, {0, 1}, }; -static arc arcs_43_2[1] = { - {103, 3}, +static arc arcs_46_2[1] = { + {106, 3}, }; -static arc arcs_43_3[1] = { +static arc arcs_46_3[1] = { {0, 3}, }; -static state states_43[4] = { - {1, arcs_43_0}, - {2, arcs_43_1}, - {1, arcs_43_2}, - {1, arcs_43_3}, +static state states_46[4] = { + {1, arcs_46_0}, + {2, arcs_46_1}, + {1, arcs_46_2}, + {1, arcs_46_3}, }; -static arc arcs_44_0[1] = { - {104, 1}, +static arc arcs_47_0[1] = { + {107, 1}, }; -static arc arcs_44_1[2] = { +static arc arcs_47_1[2] = { {24, 2}, {0, 1}, }; -static arc arcs_44_2[2] = { - {82, 3}, +static arc arcs_47_2[2] = { + {85, 3}, {0, 2}, }; -static arc arcs_44_3[1] = { +static arc arcs_47_3[1] = { {21, 4}, }; -static arc arcs_44_4[1] = { +static arc arcs_47_4[1] = { {0, 4}, }; -static state states_44[5] = { - {1, arcs_44_0}, - {2, arcs_44_1}, - {2, arcs_44_2}, - {1, arcs_44_3}, - {1, arcs_44_4}, +static state states_47[5] = { + {1, arcs_47_0}, + {2, arcs_47_1}, + {2, arcs_47_2}, + {1, arcs_47_3}, + {1, arcs_47_4}, }; -static arc arcs_45_0[2] = { +static arc arcs_48_0[2] = { {3, 1}, {2, 2}, }; -static arc arcs_45_1[1] = { +static arc arcs_48_1[1] = { {0, 1}, }; -static arc arcs_45_2[1] = { - {105, 3}, +static arc arcs_48_2[1] = { + {108, 3}, }; -static arc arcs_45_3[1] = { +static arc arcs_48_3[1] = { {6, 4}, }; -static arc arcs_45_4[2] = { +static arc arcs_48_4[2] = { {6, 4}, - {106, 1}, + {109, 1}, }; -static state states_45[5] = { - {2, arcs_45_0}, - {1, arcs_45_1}, - {1, arcs_45_2}, - {1, arcs_45_3}, - {2, arcs_45_4}, +static state states_48[5] = { + {2, arcs_48_0}, + {1, arcs_48_1}, + {1, arcs_48_2}, + {1, arcs_48_3}, + {2, arcs_48_4}, }; -static arc arcs_46_0[2] = { - {107, 1}, - {108, 2}, +static arc arcs_49_0[2] = { + {110, 1}, + {111, 2}, }; -static arc arcs_46_1[2] = { - {92, 3}, +static arc arcs_49_1[2] = { + {95, 3}, {0, 1}, }; -static arc arcs_46_2[1] = { +static arc arcs_49_2[1] = { {0, 2}, }; -static arc arcs_46_3[1] = { - {107, 4}, +static arc arcs_49_3[1] = { + {110, 4}, }; -static arc arcs_46_4[1] = { - {94, 5}, +static arc arcs_49_4[1] = { + {97, 5}, }; -static arc arcs_46_5[1] = { +static arc arcs_49_5[1] = { {24, 2}, }; -static state states_46[6] = { - {2, arcs_46_0}, - {2, arcs_46_1}, - {1, arcs_46_2}, - {1, arcs_46_3}, - {1, arcs_46_4}, - {1, arcs_46_5}, -}; -static arc arcs_47_0[2] = { - {107, 1}, - {110, 1}, -}; -static arc arcs_47_1[1] = { - {0, 1}, -}; -static state states_47[2] = { - {2, arcs_47_0}, - {1, arcs_47_1}, -}; -static arc arcs_48_0[1] = { - {111, 1}, -}; -static arc arcs_48_1[2] = { - {33, 2}, - {25, 3}, -}; -static arc arcs_48_2[1] = { - {25, 3}, -}; -static arc arcs_48_3[1] = { - {24, 4}, -}; -static arc arcs_48_4[1] = { - {0, 4}, -}; -static state states_48[5] = { - {1, arcs_48_0}, - {2, arcs_48_1}, - {1, arcs_48_2}, - {1, arcs_48_3}, - {1, arcs_48_4}, -}; -static arc arcs_49_0[1] = { - {111, 1}, -}; -static arc arcs_49_1[2] = { - {33, 2}, - {25, 3}, -}; -static arc arcs_49_2[1] = { - {25, 3}, -}; -static arc arcs_49_3[1] = { - {109, 4}, -}; -static arc arcs_49_4[1] = { - {0, 4}, -}; -static state states_49[5] = { - {1, arcs_49_0}, +static state states_49[6] = { + {2, arcs_49_0}, {2, arcs_49_1}, {1, arcs_49_2}, {1, arcs_49_3}, {1, arcs_49_4}, + {1, arcs_49_5}, }; -static arc arcs_50_0[1] = { - {112, 1}, +static arc arcs_50_0[2] = { + {110, 1}, + {113, 1}, }; -static arc arcs_50_1[2] = { - {113, 0}, +static arc arcs_50_1[1] = { {0, 1}, }; static state states_50[2] = { - {1, arcs_50_0}, - {2, arcs_50_1}, + {2, arcs_50_0}, + {1, arcs_50_1}, }; static arc arcs_51_0[1] = { {114, 1}, }; static arc arcs_51_1[2] = { - {115, 0}, - {0, 1}, + {33, 2}, + {25, 3}, }; -static state states_51[2] = { +static arc arcs_51_2[1] = { + {25, 3}, +}; +static arc arcs_51_3[1] = { + {24, 4}, +}; +static arc arcs_51_4[1] = { + {0, 4}, +}; +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 arc arcs_52_0[2] = { - {116, 1}, - {117, 2}, +static arc arcs_52_0[1] = { + {114, 1}, }; -static arc arcs_52_1[1] = { - {114, 2}, +static arc arcs_52_1[2] = { + {33, 2}, + {25, 3}, }; static arc arcs_52_2[1] = { - {0, 2}, + {25, 3}, }; -static state states_52[3] = { - {2, arcs_52_0}, - {1, arcs_52_1}, +static arc arcs_52_3[1] = { + {112, 4}, +}; +static arc arcs_52_4[1] = { + {0, 4}, +}; +static state states_52[5] = { + {1, arcs_52_0}, + {2, arcs_52_1}, {1, arcs_52_2}, + {1, arcs_52_3}, + {1, arcs_52_4}, }; static arc arcs_53_0[1] = { - {103, 1}, + {115, 1}, }; static arc arcs_53_1[2] = { - {118, 0}, + {116, 0}, {0, 1}, }; static state states_53[2] = { {1, arcs_53_0}, {2, arcs_53_1}, }; -static arc arcs_54_0[10] = { - {119, 1}, - {120, 1}, - {121, 1}, - {122, 1}, - {123, 1}, - {124, 1}, - {125, 1}, - {97, 1}, - {116, 2}, - {126, 3}, +static arc arcs_54_0[1] = { + {117, 1}, }; -static arc arcs_54_1[1] = { +static arc arcs_54_1[2] = { + {118, 0}, {0, 1}, }; -static arc arcs_54_2[1] = { - {97, 1}, +static state states_54[2] = { + {1, arcs_54_0}, + {2, arcs_54_1}, }; -static arc arcs_54_3[2] = { - {116, 1}, - {0, 3}, -}; -static state states_54[4] = { - {10, arcs_54_0}, - {1, arcs_54_1}, - {1, arcs_54_2}, - {2, arcs_54_3}, -}; -static arc arcs_55_0[1] = { - {31, 1}, +static arc arcs_55_0[2] = { + {119, 1}, + {120, 2}, }; static arc arcs_55_1[1] = { - {103, 2}, + {117, 2}, }; static arc arcs_55_2[1] = { {0, 2}, }; static state states_55[3] = { - {1, arcs_55_0}, + {2, arcs_55_0}, {1, arcs_55_1}, {1, arcs_55_2}, }; static arc arcs_56_0[1] = { - {127, 1}, + {106, 1}, }; static arc arcs_56_1[2] = { - {128, 0}, + {121, 0}, {0, 1}, }; static state states_56[2] = { {1, arcs_56_0}, {2, arcs_56_1}, }; -static arc arcs_57_0[1] = { - {129, 1}, +static arc arcs_57_0[10] = { + {122, 1}, + {123, 1}, + {124, 1}, + {125, 1}, + {126, 1}, + {127, 1}, + {128, 1}, + {100, 1}, + {119, 2}, + {129, 3}, }; -static arc arcs_57_1[2] = { - {130, 0}, +static arc arcs_57_1[1] = { {0, 1}, }; -static state states_57[2] = { - {1, arcs_57_0}, - {2, arcs_57_1}, +static arc arcs_57_2[1] = { + {100, 1}, +}; +static arc arcs_57_3[2] = { + {119, 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] = { - {131, 1}, + {31, 1}, }; -static arc arcs_58_1[2] = { - {132, 0}, - {0, 1}, +static arc arcs_58_1[1] = { + {106, 2}, }; -static state states_58[2] = { +static arc arcs_58_2[1] = { + {0, 2}, +}; +static state states_58[3] = { {1, arcs_58_0}, - {2, arcs_58_1}, + {1, arcs_58_1}, + {1, arcs_58_2}, }; static arc arcs_59_0[1] = { - {133, 1}, + {130, 1}, }; -static arc arcs_59_1[3] = { - {134, 0}, - {135, 0}, +static arc arcs_59_1[2] = { + {131, 0}, {0, 1}, }; static state states_59[2] = { {1, arcs_59_0}, - {3, arcs_59_1}, + {2, arcs_59_1}, }; static arc arcs_60_0[1] = { + {132, 1}, +}; +static arc arcs_60_1[2] = { + {133, 0}, + {0, 1}, +}; +static state states_60[2] = { + {1, arcs_60_0}, + {2, arcs_60_1}, +}; +static arc arcs_61_0[1] = { + {134, 1}, +}; +static arc arcs_61_1[2] = { + {135, 0}, + {0, 1}, +}; +static state states_61[2] = { + {1, arcs_61_0}, + {2, arcs_61_1}, +}; +static arc arcs_62_0[1] = { {136, 1}, }; -static arc arcs_60_1[3] = { +static arc arcs_62_1[3] = { {137, 0}, {138, 0}, {0, 1}, }; -static state states_60[2] = { - {1, arcs_60_0}, - {3, arcs_60_1}, +static state states_62[2] = { + {1, arcs_62_0}, + {3, arcs_62_1}, }; -static arc arcs_61_0[1] = { +static arc arcs_63_0[1] = { {139, 1}, }; -static arc arcs_61_1[5] = { - {31, 0}, +static arc arcs_63_1[3] = { {140, 0}, {141, 0}, - {142, 0}, {0, 1}, }; -static state states_61[2] = { - {1, arcs_61_0}, - {5, arcs_61_1}, +static state states_63[2] = { + {1, arcs_63_0}, + {3, arcs_63_1}, }; -static arc arcs_62_0[4] = { - {137, 1}, - {138, 1}, - {143, 1}, - {144, 2}, +static arc arcs_64_0[1] = { + {142, 1}, }; -static arc arcs_62_1[1] = { - {139, 2}, -}; -static arc arcs_62_2[1] = { - {0, 2}, -}; -static state states_62[3] = { - {4, arcs_62_0}, - {1, arcs_62_1}, - {1, arcs_62_2}, -}; -static arc arcs_63_0[1] = { - {145, 1}, -}; -static arc arcs_63_1[3] = { - {146, 1}, - {32, 2}, +static arc arcs_64_1[5] = { + {31, 0}, + {143, 0}, + {144, 0}, + {145, 0}, {0, 1}, }; -static arc arcs_63_2[1] = { - {139, 3}, +static state states_64[2] = { + {1, arcs_64_0}, + {5, arcs_64_1}, }; -static arc arcs_63_3[1] = { - {0, 3}, +static arc arcs_65_0[4] = { + {140, 1}, + {141, 1}, + {146, 1}, + {147, 2}, }; -static state states_63[4] = { - {1, arcs_63_0}, - {3, arcs_63_1}, - {1, arcs_63_2}, - {1, arcs_63_3}, -}; -static arc arcs_64_0[10] = { - {13, 1}, - {148, 2}, - {150, 3}, - {21, 4}, - {153, 4}, - {154, 5}, - {79, 4}, - {155, 4}, - {156, 4}, - {157, 4}, -}; -static arc arcs_64_1[3] = { - {47, 6}, - {147, 6}, - {15, 4}, -}; -static arc arcs_64_2[2] = { - {147, 7}, - {149, 4}, -}; -static arc arcs_64_3[2] = { - {151, 8}, - {152, 4}, -}; -static arc arcs_64_4[1] = { - {0, 4}, -}; -static arc arcs_64_5[2] = { - {154, 5}, - {0, 5}, -}; -static arc arcs_64_6[1] = { - {15, 4}, -}; -static arc arcs_64_7[1] = { - {149, 4}, -}; -static arc arcs_64_8[1] = { - {152, 4}, -}; -static state states_64[9] = { - {10, arcs_64_0}, - {3, arcs_64_1}, - {2, arcs_64_2}, - {2, arcs_64_3}, - {1, arcs_64_4}, - {2, arcs_64_5}, - {1, arcs_64_6}, - {1, arcs_64_7}, - {1, arcs_64_8}, -}; -static arc arcs_65_0[2] = { - {24, 1}, - {48, 1}, -}; -static arc arcs_65_1[3] = { - {158, 2}, - {30, 3}, - {0, 1}, +static arc arcs_65_1[1] = { + {142, 2}, }; static arc arcs_65_2[1] = { {0, 2}, }; -static arc arcs_65_3[3] = { - {24, 4}, - {48, 4}, +static state states_65[3] = { + {4, arcs_65_0}, + {1, arcs_65_1}, + {1, arcs_65_2}, +}; +static arc arcs_66_0[1] = { + {148, 1}, +}; +static arc arcs_66_1[3] = { + {149, 1}, + {32, 2}, + {0, 1}, +}; +static arc arcs_66_2[1] = { + {142, 3}, +}; +static arc arcs_66_3[1] = { {0, 3}, }; -static arc arcs_65_4[2] = { - {30, 3}, +static state states_66[4] = { + {1, arcs_66_0}, + {3, arcs_66_1}, + {1, arcs_66_2}, + {1, arcs_66_3}, +}; +static arc arcs_67_0[10] = { + {13, 1}, + {151, 2}, + {153, 3}, + {21, 4}, + {156, 4}, + {157, 5}, + {82, 4}, + {158, 4}, + {159, 4}, + {160, 4}, +}; +static arc arcs_67_1[3] = { + {51, 6}, + {150, 6}, + {15, 4}, +}; +static arc arcs_67_2[2] = { + {150, 7}, + {152, 4}, +}; +static arc arcs_67_3[2] = { + {154, 8}, + {155, 4}, +}; +static arc arcs_67_4[1] = { {0, 4}, }; -static state states_65[5] = { - {2, arcs_65_0}, - {3, arcs_65_1}, - {1, arcs_65_2}, - {3, arcs_65_3}, - {2, arcs_65_4}, -}; -static arc arcs_66_0[3] = { - {13, 1}, - {148, 2}, - {78, 3}, -}; -static arc arcs_66_1[2] = { - {14, 4}, - {15, 5}, -}; -static arc arcs_66_2[1] = { - {159, 6}, -}; -static arc arcs_66_3[1] = { - {21, 5}, -}; -static arc arcs_66_4[1] = { - {15, 5}, -}; -static arc arcs_66_5[1] = { +static arc arcs_67_5[2] = { + {157, 5}, {0, 5}, }; -static arc arcs_66_6[1] = { - {149, 5}, +static arc arcs_67_6[1] = { + {15, 4}, }; -static state states_66[7] = { - {3, arcs_66_0}, - {2, arcs_66_1}, - {1, arcs_66_2}, - {1, arcs_66_3}, - {1, arcs_66_4}, - {1, arcs_66_5}, - {1, arcs_66_6}, +static arc arcs_67_7[1] = { + {152, 4}, }; -static arc arcs_67_0[1] = { - {160, 1}, +static arc arcs_67_8[1] = { + {155, 4}, }; -static arc arcs_67_1[2] = { - {30, 2}, - {0, 1}, -}; -static arc arcs_67_2[2] = { - {160, 1}, - {0, 2}, -}; -static state states_67[3] = { - {1, arcs_67_0}, - {2, arcs_67_1}, +static state states_67[9] = { + {10, arcs_67_0}, + {3, arcs_67_1}, {2, arcs_67_2}, + {2, arcs_67_3}, + {1, arcs_67_4}, + {2, arcs_67_5}, + {1, arcs_67_6}, + {1, arcs_67_7}, + {1, arcs_67_8}, }; static arc arcs_68_0[2] = { {24, 1}, - {25, 2}, + {49, 1}, }; -static arc arcs_68_1[2] = { - {25, 2}, +static arc arcs_68_1[3] = { + {161, 2}, + {30, 3}, {0, 1}, }; -static arc arcs_68_2[3] = { - {24, 3}, - {161, 4}, +static arc arcs_68_2[1] = { {0, 2}, }; -static arc arcs_68_3[2] = { - {161, 4}, +static arc arcs_68_3[3] = { + {24, 4}, + {49, 4}, {0, 3}, }; -static arc arcs_68_4[1] = { +static arc arcs_68_4[2] = { + {30, 3}, {0, 4}, }; static state states_68[5] = { {2, arcs_68_0}, - {2, arcs_68_1}, - {3, arcs_68_2}, - {2, arcs_68_3}, - {1, arcs_68_4}, + {3, arcs_68_1}, + {1, arcs_68_2}, + {3, arcs_68_3}, + {2, arcs_68_4}, }; -static arc arcs_69_0[1] = { - {25, 1}, +static arc arcs_69_0[4] = { + {13, 1}, + {151, 2}, + {81, 3}, + {153, 4}, }; static arc arcs_69_1[2] = { - {24, 2}, - {0, 1}, + {14, 5}, + {15, 6}, }; static arc arcs_69_2[1] = { - {0, 2}, + {162, 7}, }; -static state states_69[3] = { - {1, arcs_69_0}, +static arc arcs_69_3[1] = { + {21, 6}, +}; +static arc arcs_69_4[1] = { + {155, 6}, +}; +static arc arcs_69_5[1] = { + {15, 6}, +}; +static arc arcs_69_6[1] = { + {0, 6}, +}; +static arc arcs_69_7[1] = { + {152, 6}, +}; +static state states_69[8] = { + {4, arcs_69_0}, {2, arcs_69_1}, {1, arcs_69_2}, + {1, arcs_69_3}, + {1, arcs_69_4}, + {1, arcs_69_5}, + {1, arcs_69_6}, + {1, arcs_69_7}, }; -static arc arcs_70_0[2] = { - {103, 1}, - {48, 1}, +static arc arcs_70_0[1] = { + {163, 1}, }; static arc arcs_70_1[2] = { {30, 2}, {0, 1}, }; -static arc arcs_70_2[3] = { - {103, 1}, - {48, 1}, +static arc arcs_70_2[2] = { + {163, 1}, {0, 2}, }; static state states_70[3] = { - {2, arcs_70_0}, + {1, arcs_70_0}, {2, arcs_70_1}, - {3, arcs_70_2}, + {2, arcs_70_2}, }; -static arc arcs_71_0[1] = { +static arc arcs_71_0[2] = { {24, 1}, + {25, 2}, }; static arc arcs_71_1[2] = { + {25, 2}, + {0, 1}, +}; +static arc arcs_71_2[3] = { + {24, 3}, + {164, 4}, + {0, 2}, +}; +static arc arcs_71_3[2] = { + {164, 4}, + {0, 3}, +}; +static arc arcs_71_4[1] = { + {0, 4}, +}; +static state states_71[5] = { + {2, arcs_71_0}, + {2, arcs_71_1}, + {3, arcs_71_2}, + {2, arcs_71_3}, + {1, arcs_71_4}, +}; +static arc arcs_72_0[1] = { + {25, 1}, +}; +static arc arcs_72_1[2] = { + {24, 2}, + {0, 1}, +}; +static arc arcs_72_2[1] = { + {0, 2}, +}; +static state states_72[3] = { + {1, arcs_72_0}, + {2, arcs_72_1}, + {1, arcs_72_2}, +}; +static arc arcs_73_0[2] = { + {106, 1}, + {49, 1}, +}; +static arc arcs_73_1[2] = { {30, 2}, {0, 1}, }; -static arc arcs_71_2[2] = { +static arc arcs_73_2[3] = { + {106, 1}, + {49, 1}, + {0, 2}, +}; +static state states_73[3] = { + {2, arcs_73_0}, + {2, arcs_73_1}, + {3, arcs_73_2}, +}; +static arc arcs_74_0[1] = { + {24, 1}, +}; +static arc arcs_74_1[2] = { + {30, 2}, + {0, 1}, +}; +static arc arcs_74_2[2] = { {24, 1}, {0, 2}, }; -static state states_71[3] = { - {1, arcs_71_0}, - {2, arcs_71_1}, - {2, arcs_71_2}, +static state states_74[3] = { + {1, arcs_74_0}, + {2, arcs_74_1}, + {2, arcs_74_2}, }; -static arc arcs_72_0[1] = { +static arc arcs_75_0[1] = { {24, 1}, }; -static arc arcs_72_1[4] = { +static arc arcs_75_1[4] = { {25, 2}, - {158, 3}, + {161, 3}, {30, 4}, {0, 1}, }; -static arc arcs_72_2[1] = { +static arc arcs_75_2[1] = { {24, 5}, }; -static arc arcs_72_3[1] = { +static arc arcs_75_3[1] = { {0, 3}, }; -static arc arcs_72_4[2] = { +static arc arcs_75_4[2] = { {24, 6}, {0, 4}, }; -static arc arcs_72_5[3] = { - {158, 3}, +static arc arcs_75_5[3] = { + {161, 3}, {30, 7}, {0, 5}, }; -static arc arcs_72_6[2] = { +static arc arcs_75_6[2] = { {30, 4}, {0, 6}, }; -static arc arcs_72_7[2] = { +static arc arcs_75_7[2] = { {24, 8}, {0, 7}, }; -static arc arcs_72_8[1] = { +static arc arcs_75_8[1] = { {25, 9}, }; -static arc arcs_72_9[1] = { +static arc arcs_75_9[1] = { {24, 10}, }; -static arc arcs_72_10[2] = { +static arc arcs_75_10[2] = { {30, 7}, {0, 10}, }; -static state states_72[11] = { - {1, arcs_72_0}, - {4, arcs_72_1}, - {1, arcs_72_2}, - {1, arcs_72_3}, - {2, arcs_72_4}, - {3, arcs_72_5}, - {2, arcs_72_6}, - {2, arcs_72_7}, - {1, arcs_72_8}, - {1, arcs_72_9}, - {2, arcs_72_10}, +static state states_75[11] = { + {1, arcs_75_0}, + {4, arcs_75_1}, + {1, arcs_75_2}, + {1, arcs_75_3}, + {2, arcs_75_4}, + {3, arcs_75_5}, + {2, arcs_75_6}, + {2, arcs_75_7}, + {1, arcs_75_8}, + {1, arcs_75_9}, + {2, arcs_75_10}, }; -static arc arcs_73_0[1] = { - {162, 1}, +static arc arcs_76_0[1] = { + {165, 1}, }; -static arc arcs_73_1[1] = { +static arc arcs_76_1[1] = { {21, 2}, }; -static arc arcs_73_2[2] = { +static arc arcs_76_2[2] = { {13, 3}, {25, 4}, }; -static arc arcs_73_3[2] = { +static arc arcs_76_3[2] = { {14, 5}, {15, 6}, }; -static arc arcs_73_4[1] = { +static arc arcs_76_4[1] = { {26, 7}, }; -static arc arcs_73_5[1] = { +static arc arcs_76_5[1] = { {15, 6}, }; -static arc arcs_73_6[1] = { +static arc arcs_76_6[1] = { {25, 4}, }; -static arc arcs_73_7[1] = { +static arc arcs_76_7[1] = { {0, 7}, }; -static state states_73[8] = { - {1, arcs_73_0}, - {1, arcs_73_1}, - {2, arcs_73_2}, - {2, arcs_73_3}, - {1, arcs_73_4}, - {1, arcs_73_5}, - {1, arcs_73_6}, - {1, arcs_73_7}, +static state states_76[8] = { + {1, arcs_76_0}, + {1, arcs_76_1}, + {2, arcs_76_2}, + {2, arcs_76_3}, + {1, arcs_76_4}, + {1, arcs_76_5}, + {1, arcs_76_6}, + {1, arcs_76_7}, }; -static arc arcs_74_0[3] = { - {163, 1}, +static arc arcs_77_0[3] = { + {166, 1}, {31, 2}, {32, 3}, }; -static arc arcs_74_1[2] = { +static arc arcs_77_1[2] = { {30, 4}, {0, 1}, }; -static arc arcs_74_2[1] = { +static arc arcs_77_2[1] = { {24, 5}, }; -static arc arcs_74_3[1] = { +static arc arcs_77_3[1] = { {24, 6}, }; -static arc arcs_74_4[4] = { - {163, 1}, +static arc arcs_77_4[4] = { + {166, 1}, {31, 2}, {32, 3}, {0, 4}, }; -static arc arcs_74_5[2] = { +static arc arcs_77_5[2] = { {30, 7}, {0, 5}, }; -static arc arcs_74_6[1] = { +static arc arcs_77_6[1] = { {0, 6}, }; -static arc arcs_74_7[2] = { - {163, 5}, +static arc arcs_77_7[2] = { + {166, 5}, {32, 3}, }; -static state states_74[8] = { - {3, arcs_74_0}, - {2, arcs_74_1}, - {1, arcs_74_2}, - {1, arcs_74_3}, - {4, arcs_74_4}, - {2, arcs_74_5}, - {1, arcs_74_6}, - {2, arcs_74_7}, +static state states_77[8] = { + {3, arcs_77_0}, + {2, arcs_77_1}, + {1, arcs_77_2}, + {1, arcs_77_3}, + {4, arcs_77_4}, + {2, arcs_77_5}, + {1, arcs_77_6}, + {2, arcs_77_7}, }; -static arc arcs_75_0[1] = { +static arc arcs_78_0[1] = { {24, 1}, }; -static arc arcs_75_1[3] = { - {158, 2}, +static arc arcs_78_1[3] = { + {161, 2}, {29, 3}, {0, 1}, }; -static arc arcs_75_2[1] = { - {0, 2}, -}; -static arc arcs_75_3[1] = { - {24, 2}, -}; -static state states_75[4] = { - {1, arcs_75_0}, - {3, arcs_75_1}, - {1, arcs_75_2}, - {1, arcs_75_3}, -}; -static arc arcs_76_0[2] = { - {158, 1}, - {165, 1}, -}; -static arc arcs_76_1[1] = { - {0, 1}, -}; -static state states_76[2] = { - {2, arcs_76_0}, - {1, arcs_76_1}, -}; -static arc arcs_77_0[1] = { - {96, 1}, -}; -static arc arcs_77_1[1] = { - {62, 2}, -}; -static arc arcs_77_2[1] = { - {97, 3}, -}; -static arc arcs_77_3[1] = { - {107, 4}, -}; -static arc arcs_77_4[2] = { - {164, 5}, - {0, 4}, -}; -static arc arcs_77_5[1] = { - {0, 5}, -}; -static state states_77[6] = { - {1, arcs_77_0}, - {1, arcs_77_1}, - {1, arcs_77_2}, - {1, arcs_77_3}, - {2, arcs_77_4}, - {1, arcs_77_5}, -}; -static arc arcs_78_0[1] = { - {92, 1}, -}; -static arc arcs_78_1[1] = { - {109, 2}, -}; -static arc arcs_78_2[2] = { - {164, 3}, +static arc arcs_78_2[1] = { {0, 2}, }; static arc arcs_78_3[1] = { - {0, 3}, + {24, 2}, }; static state states_78[4] = { {1, arcs_78_0}, - {1, arcs_78_1}, - {2, arcs_78_2}, + {3, arcs_78_1}, + {1, arcs_78_2}, {1, arcs_78_3}, }; -static arc arcs_79_0[1] = { - {21, 1}, +static arc arcs_79_0[2] = { + {161, 1}, + {168, 1}, }; static arc arcs_79_1[1] = { {0, 1}, }; static state states_79[2] = { - {1, arcs_79_0}, + {2, arcs_79_0}, {1, arcs_79_1}, }; static arc arcs_80_0[1] = { - {167, 1}, + {99, 1}, }; -static arc arcs_80_1[2] = { - {168, 2}, +static arc arcs_80_1[1] = { + {65, 2}, +}; +static arc arcs_80_2[1] = { + {100, 3}, +}; +static arc arcs_80_3[1] = { + {110, 4}, +}; +static arc arcs_80_4[2] = { + {167, 5}, + {0, 4}, +}; +static arc arcs_80_5[1] = { + {0, 5}, +}; +static state states_80[6] = { + {1, arcs_80_0}, + {1, arcs_80_1}, + {1, arcs_80_2}, + {1, arcs_80_3}, + {2, arcs_80_4}, + {1, arcs_80_5}, +}; +static arc arcs_81_0[1] = { + {95, 1}, +}; +static arc arcs_81_1[1] = { + {112, 2}, +}; +static arc arcs_81_2[2] = { + {167, 3}, + {0, 2}, +}; +static arc arcs_81_3[1] = { + {0, 3}, +}; +static state states_81[4] = { + {1, arcs_81_0}, + {1, arcs_81_1}, + {2, arcs_81_2}, + {1, arcs_81_3}, +}; +static arc arcs_82_0[1] = { + {21, 1}, +}; +static arc arcs_82_1[1] = { {0, 1}, }; -static arc arcs_80_2[1] = { +static state states_82[2] = { + {1, arcs_82_0}, + {1, arcs_82_1}, +}; +static arc arcs_83_0[1] = { + {170, 1}, +}; +static arc arcs_83_1[2] = { + {171, 2}, + {0, 1}, +}; +static arc arcs_83_2[1] = { {0, 2}, }; -static state states_80[3] = { - {1, arcs_80_0}, - {2, arcs_80_1}, - {1, arcs_80_2}, +static state states_83[3] = { + {1, arcs_83_0}, + {2, arcs_83_1}, + {1, arcs_83_2}, }; -static arc arcs_81_0[2] = { - {73, 1}, +static arc arcs_84_0[2] = { + {76, 1}, {9, 2}, }; -static arc arcs_81_1[1] = { +static arc arcs_84_1[1] = { {24, 2}, }; -static arc arcs_81_2[1] = { +static arc arcs_84_2[1] = { {0, 2}, }; -static state states_81[3] = { - {2, arcs_81_0}, - {1, arcs_81_1}, - {1, arcs_81_2}, +static state states_84[3] = { + {2, arcs_84_0}, + {1, arcs_84_1}, + {1, arcs_84_2}, }; -static dfa dfas[82] = { +static dfa dfas[85] = { {256, "single_input", 0, 3, states_0, - "\004\050\060\200\000\000\000\240\340\223\160\220\045\200\020\000\000\206\120\076\204\000"}, + "\004\050\060\200\000\000\000\000\005\237\204\203\054\001\204\000\000\060\204\362\041\004"}, {257, "file_input", 0, 2, states_1, - "\204\050\060\200\000\000\000\240\340\223\160\220\045\200\020\000\000\206\120\076\204\000"}, + "\204\050\060\200\000\000\000\000\005\237\204\203\054\001\204\000\000\060\204\362\041\004"}, {258, "eval_input", 0, 3, states_2, - "\000\040\040\000\000\000\000\000\000\200\000\000\000\200\020\000\000\206\120\076\000\000"}, + "\000\040\040\000\000\000\000\000\000\000\004\000\000\000\204\000\000\060\204\362\001\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"}, {260, "decorators", 0, 2, states_4, @@ -1843,174 +1875,180 @@ {267, "vfpdef", 0, 2, states_11, "\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"}, {268, "stmt", 0, 2, states_12, - "\000\050\060\200\000\000\000\240\340\223\160\220\045\200\020\000\000\206\120\076\204\000"}, + "\000\050\060\200\000\000\000\000\005\237\204\203\054\001\204\000\000\060\204\362\041\004"}, {269, "simple_stmt", 0, 4, states_13, - "\000\040\040\200\000\000\000\240\340\223\160\000\000\200\020\000\000\206\120\076\200\000"}, + "\000\040\040\200\000\000\000\000\005\237\204\003\000\000\204\000\000\060\204\362\001\004"}, {270, "small_stmt", 0, 2, states_14, - "\000\040\040\200\000\000\000\240\340\223\160\000\000\200\020\000\000\206\120\076\200\000"}, - {271, "expr_stmt", 0, 6, states_15, - "\000\040\040\200\000\000\000\000\000\200\000\000\000\200\020\000\000\206\120\076\000\000"}, + "\000\040\040\200\000\000\000\000\005\237\204\003\000\000\204\000\000\060\204\362\001\004"}, + {271, "expr_stmt", 0, 3, states_15, + "\000\040\040\200\000\000\000\000\000\000\004\000\000\000\204\000\000\060\204\362\001\000"}, {272, "testlist_star_expr", 0, 3, states_16, - "\000\040\040\200\000\000\000\000\000\200\000\000\000\200\020\000\000\206\120\076\000\000"}, - {273, "augassign", 0, 2, states_17, - "\000\000\000\000\000\000\376\037\000\000\000\000\000\000\000\000\000\000\000\000\000\000"}, - {274, "del_stmt", 0, 3, states_18, - "\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000"}, - {275, "pass_stmt", 0, 2, states_19, - "\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000"}, - {276, "flow_stmt", 0, 2, states_20, - "\000\000\000\000\000\000\000\000\340\001\000\000\000\000\000\000\000\000\000\000\200\000"}, - {277, "break_stmt", 0, 2, states_21, - "\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000"}, - {278, "continue_stmt", 0, 2, states_22, - "\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000"}, - {279, "return_stmt", 0, 3, states_23, - "\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000"}, - {280, "yield_stmt", 0, 2, states_24, - "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\200\000"}, - {281, "raise_stmt", 0, 5, states_25, + "\000\040\040\200\000\000\000\000\000\000\004\000\000\000\204\000\000\060\204\362\001\000"}, + {273, "augassign_stmt_trailer", 0, 3, states_17, + "\000\000\000\000\000\000\360\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"}, + {274, "augassign", 0, 2, states_18, + "\000\000\000\000\000\000\360\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"}, + {275, "assign_stmt_trailer", 0, 3, states_19, + "\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"}, + {276, "implicit_arglist", 0, 2, states_20, + "\000\040\040\200\001\000\000\000\000\000\004\000\000\000\204\000\000\060\204\362\001\000"}, + {277, "del_stmt", 0, 3, states_21, + "\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000"}, + {278, "pass_stmt", 0, 2, states_22, + "\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000"}, + {279, "flow_stmt", 0, 2, states_23, + "\000\000\000\000\000\000\000\000\000\017\000\000\000\000\000\000\000\000\000\000\000\004"}, + {280, "break_stmt", 0, 2, states_24, "\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000"}, - {282, "import_stmt", 0, 2, states_26, - "\000\000\000\000\000\000\000\000\000\022\000\000\000\000\000\000\000\000\000\000\000\000"}, - {283, "import_name", 0, 3, states_27, + {281, "continue_stmt", 0, 2, states_25, + "\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000"}, + {282, "return_stmt", 0, 3, states_26, + "\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000"}, + {283, "yield_stmt", 0, 2, states_27, + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004"}, + {284, "raise_stmt", 0, 5, states_28, + "\000\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000"}, + {285, "import_stmt", 0, 2, states_29, + "\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\000\000"}, + {286, "import_name", 0, 3, states_30, + "\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000"}, + {287, "import_from", 0, 8, states_31, "\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000"}, - {284, "import_from", 0, 8, states_28, - "\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000"}, - {285, "import_as_name", 0, 4, states_29, + {288, "import_as_name", 0, 4, states_32, "\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"}, - {286, "dotted_as_name", 0, 4, states_30, + {289, "dotted_as_name", 0, 4, states_33, "\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"}, - {287, "import_as_names", 0, 3, states_31, + {290, "import_as_names", 0, 3, states_34, "\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"}, - {288, "dotted_as_names", 0, 2, states_32, + {291, "dotted_as_names", 0, 2, states_35, "\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"}, - {289, "dotted_name", 0, 2, states_33, + {292, "dotted_name", 0, 2, states_36, "\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"}, - {290, "global_stmt", 0, 3, states_34, - "\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000"}, - {291, "nonlocal_stmt", 0, 3, states_35, - "\000\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000"}, - {292, "assert_stmt", 0, 5, states_36, - "\000\000\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000"}, - {293, "compound_stmt", 0, 2, states_37, - "\000\010\020\000\000\000\000\000\000\000\000\220\045\000\000\000\000\000\000\000\004\000"}, - {294, "if_stmt", 0, 8, states_38, - "\000\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000"}, - {295, "while_stmt", 0, 8, states_39, + {293, "global_stmt", 0, 3, states_37, + "\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000"}, + {294, "nonlocal_stmt", 0, 3, states_38, + "\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000"}, + {295, "assert_stmt", 0, 5, states_39, + "\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000"}, + {296, "compound_stmt", 0, 2, states_40, + "\000\010\020\000\000\000\000\000\000\000\000\200\054\001\000\000\000\000\000\000\040\000"}, + {297, "if_stmt", 0, 8, states_41, "\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000"}, - {296, "for_stmt", 0, 10, states_40, - "\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000"}, - {297, "try_stmt", 0, 13, states_41, + {298, "while_stmt", 0, 8, states_42, "\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000"}, - {298, "with_stmt", 0, 5, states_42, + {299, "for_stmt", 0, 10, states_43, + "\000\000\000\000\000\000\000\000\000\000\000\000\010\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\040\000\000\000\000\000\000\000\000\000"}, - {299, "with_item", 0, 4, states_43, - "\000\040\040\000\000\000\000\000\000\200\000\000\000\200\020\000\000\206\120\076\000\000"}, - {300, "except_clause", 0, 5, states_44, + {301, "with_stmt", 0, 5, states_45, "\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000"}, - {301, "suite", 0, 5, states_45, - "\004\040\040\200\000\000\000\240\340\223\160\000\000\200\020\000\000\206\120\076\200\000"}, - {302, "test", 0, 6, states_46, - "\000\040\040\000\000\000\000\000\000\200\000\000\000\200\020\000\000\206\120\076\000\000"}, - {303, "test_nocond", 0, 2, states_47, - "\000\040\040\000\000\000\000\000\000\200\000\000\000\200\020\000\000\206\120\076\000\000"}, - {304, "lambdef", 0, 5, states_48, - "\000\000\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000"}, - {305, "lambdef_nocond", 0, 5, states_49, - "\000\000\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000"}, - {306, "or_test", 0, 2, states_50, - "\000\040\040\000\000\000\000\000\000\200\000\000\000\000\020\000\000\206\120\076\000\000"}, - {307, "and_test", 0, 2, states_51, - "\000\040\040\000\000\000\000\000\000\200\000\000\000\000\020\000\000\206\120\076\000\000"}, - {308, "not_test", 0, 3, states_52, - "\000\040\040\000\000\000\000\000\000\200\000\000\000\000\020\000\000\206\120\076\000\000"}, - {309, "comparison", 0, 2, states_53, - "\000\040\040\000\000\000\000\000\000\200\000\000\000\000\000\000\000\206\120\076\000\000"}, - {310, "comp_op", 0, 4, states_54, - "\000\000\000\000\000\000\000\000\000\000\000\000\002\000\220\177\000\000\000\000\000\000"}, - {311, "star_expr", 0, 3, states_55, + {302, "with_item", 0, 4, states_46, + "\000\040\040\000\000\000\000\000\000\000\004\000\000\000\204\000\000\060\204\362\001\000"}, + {303, "except_clause", 0, 5, states_47, + "\000\000\000\000\000\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000"}, + {304, "suite", 0, 5, states_48, + "\004\040\040\200\000\000\000\000\005\237\204\003\000\000\204\000\000\060\204\362\001\004"}, + {305, "test", 0, 6, states_49, + "\000\040\040\000\000\000\000\000\000\000\004\000\000\000\204\000\000\060\204\362\001\000"}, + {306, "test_nocond", 0, 2, states_50, + "\000\040\040\000\000\000\000\000\000\000\004\000\000\000\204\000\000\060\204\362\001\000"}, + {307, "lambdef", 0, 5, states_51, + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\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\004\000\000\000\000\000\000\000"}, + {309, "or_test", 0, 2, states_53, + "\000\040\040\000\000\000\000\000\000\000\004\000\000\000\200\000\000\060\204\362\001\000"}, + {310, "and_test", 0, 2, states_54, + "\000\040\040\000\000\000\000\000\000\000\004\000\000\000\200\000\000\060\204\362\001\000"}, + {311, "not_test", 0, 3, states_55, + "\000\040\040\000\000\000\000\000\000\000\004\000\000\000\200\000\000\060\204\362\001\000"}, + {312, "comparison", 0, 2, states_56, + "\000\040\040\000\000\000\000\000\000\000\004\000\000\000\000\000\000\060\204\362\001\000"}, + {313, "comp_op", 0, 4, states_57, + "\000\000\000\000\000\000\000\000\000\000\000\000\020\000\200\374\003\000\000\000\000\000"}, + {314, "star_expr", 0, 3, states_58, "\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"}, - {312, "expr", 0, 2, states_56, - "\000\040\040\000\000\000\000\000\000\200\000\000\000\000\000\000\000\206\120\076\000\000"}, - {313, "xor_expr", 0, 2, states_57, - "\000\040\040\000\000\000\000\000\000\200\000\000\000\000\000\000\000\206\120\076\000\000"}, - {314, "and_expr", 0, 2, states_58, - "\000\040\040\000\000\000\000\000\000\200\000\000\000\000\000\000\000\206\120\076\000\000"}, - {315, "shift_expr", 0, 2, states_59, - "\000\040\040\000\000\000\000\000\000\200\000\000\000\000\000\000\000\206\120\076\000\000"}, - {316, "arith_expr", 0, 2, states_60, - "\000\040\040\000\000\000\000\000\000\200\000\000\000\000\000\000\000\206\120\076\000\000"}, - {317, "term", 0, 2, states_61, - "\000\040\040\000\000\000\000\000\000\200\000\000\000\000\000\000\000\206\120\076\000\000"}, - {318, "factor", 0, 3, states_62, - "\000\040\040\000\000\000\000\000\000\200\000\000\000\000\000\000\000\206\120\076\000\000"}, - {319, "power", 0, 4, states_63, - "\000\040\040\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\120\076\000\000"}, - {320, "atom", 0, 9, states_64, - "\000\040\040\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\120\076\000\000"}, - {321, "testlist_comp", 0, 5, states_65, - "\000\040\040\200\000\000\000\000\000\200\000\000\000\200\020\000\000\206\120\076\000\000"}, - {322, "trailer", 0, 7, states_66, - "\000\040\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\020\000\000\000"}, - {323, "subscriptlist", 0, 3, states_67, - "\000\040\040\002\000\000\000\000\000\200\000\000\000\200\020\000\000\206\120\076\000\000"}, - {324, "subscript", 0, 5, states_68, - "\000\040\040\002\000\000\000\000\000\200\000\000\000\200\020\000\000\206\120\076\000\000"}, - {325, "sliceop", 0, 3, states_69, + {315, "expr", 0, 2, states_59, + "\000\040\040\000\000\000\000\000\000\000\004\000\000\000\000\000\000\060\204\362\001\000"}, + {316, "xor_expr", 0, 2, states_60, + "\000\040\040\000\000\000\000\000\000\000\004\000\000\000\000\000\000\060\204\362\001\000"}, + {317, "and_expr", 0, 2, states_61, + "\000\040\040\000\000\000\000\000\000\000\004\000\000\000\000\000\000\060\204\362\001\000"}, + {318, "shift_expr", 0, 2, states_62, + "\000\040\040\000\000\000\000\000\000\000\004\000\000\000\000\000\000\060\204\362\001\000"}, + {319, "arith_expr", 0, 2, states_63, + "\000\040\040\000\000\000\000\000\000\000\004\000\000\000\000\000\000\060\204\362\001\000"}, + {320, "term", 0, 2, states_64, + "\000\040\040\000\000\000\000\000\000\000\004\000\000\000\000\000\000\060\204\362\001\000"}, + {321, "factor", 0, 3, states_65, + "\000\040\040\000\000\000\000\000\000\000\004\000\000\000\000\000\000\060\204\362\001\000"}, + {322, "power", 0, 4, states_66, + "\000\040\040\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\200\362\001\000"}, + {323, "atom", 0, 9, states_67, + "\000\040\040\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\200\362\001\000"}, + {324, "testlist_comp", 0, 5, states_68, + "\000\040\040\200\000\000\000\000\000\000\004\000\000\000\204\000\000\060\204\362\001\000"}, + {325, "trailer", 0, 8, states_69, + "\000\040\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\200\002\000\000"}, + {326, "subscriptlist", 0, 3, states_70, + "\000\040\040\002\000\000\000\000\000\000\004\000\000\000\204\000\000\060\204\362\001\000"}, + {327, "subscript", 0, 5, states_71, + "\000\040\040\002\000\000\000\000\000\000\004\000\000\000\204\000\000\060\204\362\001\000"}, + {328, "sliceop", 0, 3, states_72, "\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"}, - {326, "exprlist", 0, 3, states_70, - "\000\040\040\200\000\000\000\000\000\200\000\000\000\000\000\000\000\206\120\076\000\000"}, - {327, "testlist", 0, 3, states_71, - "\000\040\040\000\000\000\000\000\000\200\000\000\000\200\020\000\000\206\120\076\000\000"}, - {328, "dictorsetmaker", 0, 11, states_72, - "\000\040\040\000\000\000\000\000\000\200\000\000\000\200\020\000\000\206\120\076\000\000"}, - {329, "classdef", 0, 8, states_73, - "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000"}, - {330, "arglist", 0, 8, states_74, - "\000\040\040\200\001\000\000\000\000\200\000\000\000\200\020\000\000\206\120\076\000\000"}, - {331, "argument", 0, 4, states_75, - "\000\040\040\000\000\000\000\000\000\200\000\000\000\200\020\000\000\206\120\076\000\000"}, - {332, "comp_iter", 0, 2, states_76, - "\000\000\000\000\000\000\000\000\000\000\000\020\001\000\000\000\000\000\000\000\000\000"}, - {333, "comp_for", 0, 6, states_77, - "\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000"}, - {334, "comp_if", 0, 4, states_78, - "\000\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000"}, - {335, "encoding_decl", 0, 2, states_79, + {329, "exprlist", 0, 3, states_73, + "\000\040\040\200\000\000\000\000\000\000\004\000\000\000\000\000\000\060\204\362\001\000"}, + {330, "testlist", 0, 3, states_74, + "\000\040\040\000\000\000\000\000\000\000\004\000\000\000\204\000\000\060\204\362\001\000"}, + {331, "dictorsetmaker", 0, 11, states_75, + "\000\040\040\000\000\000\000\000\000\000\004\000\000\000\204\000\000\060\204\362\001\000"}, + {332, "classdef", 0, 8, states_76, + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\040\000"}, + {333, "arglist", 0, 8, states_77, + "\000\040\040\200\001\000\000\000\000\000\004\000\000\000\204\000\000\060\204\362\001\000"}, + {334, "argument", 0, 4, states_78, + "\000\040\040\000\000\000\000\000\000\000\004\000\000\000\204\000\000\060\204\362\001\000"}, + {335, "comp_iter", 0, 2, states_79, + "\000\000\000\000\000\000\000\000\000\000\000\200\010\000\000\000\000\000\000\000\000\000"}, + {336, "comp_for", 0, 6, states_80, + "\000\000\000\000\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\000"}, + {337, "comp_if", 0, 4, states_81, + "\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000"}, + {338, "encoding_decl", 0, 2, states_82, "\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"}, - {336, "yield_expr", 0, 3, states_80, - "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\200\000"}, - {337, "yield_arg", 0, 3, states_81, - "\000\040\040\000\000\000\000\000\000\202\000\000\000\200\020\000\000\206\120\076\000\000"}, + {339, "yield_expr", 0, 3, states_83, + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004"}, + {340, "yield_arg", 0, 3, states_84, + "\000\040\040\000\000\000\000\000\000\020\004\000\000\000\204\000\000\060\204\362\001\000"}, }; -static label labels[169] = { +static label labels[172] = { {0, "EMPTY"}, {256, 0}, {4, 0}, {269, 0}, - {293, 0}, + {296, 0}, {257, 0}, {268, 0}, {0, 0}, {258, 0}, - {327, 0}, + {330, 0}, {259, 0}, {49, 0}, - {289, 0}, + {292, 0}, {7, 0}, - {330, 0}, + {333, 0}, {8, 0}, {260, 0}, {261, 0}, - {329, 0}, + {332, 0}, {262, 0}, {1, "def"}, {1, 0}, {263, 0}, {50, 0}, - {302, 0}, + {305, 0}, {11, 0}, - {301, 0}, + {304, 0}, {264, 0}, {265, 0}, {22, 0}, @@ -2022,17 +2060,20 @@ {270, 0}, {13, 0}, {271, 0}, - {274, 0}, + {277, 0}, + {278, 0}, + {279, 0}, + {285, 0}, + {293, 0}, + {294, 0}, + {295, 0}, + {272, 0}, + {273, 0}, {275, 0}, {276, 0}, - {282, 0}, - {290, 0}, - {291, 0}, - {292, 0}, - {272, 0}, - {273, 0}, - {336, 0}, - {311, 0}, + {314, 0}, + {274, 0}, + {339, 0}, {36, 0}, {37, 0}, {38, 0}, @@ -2046,36 +2087,36 @@ {46, 0}, {48, 0}, {1, "del"}, - {326, 0}, + {329, 0}, {1, "pass"}, - {277, 0}, - {278, 0}, - {279, 0}, + {280, 0}, {281, 0}, - {280, 0}, + {282, 0}, + {284, 0}, + {283, 0}, {1, "break"}, {1, "continue"}, {1, "return"}, {1, "raise"}, {1, "from"}, - {283, 0}, - {284, 0}, + {286, 0}, + {287, 0}, {1, "import"}, - {288, 0}, + {291, 0}, {23, 0}, {51, 0}, - {287, 0}, - {285, 0}, + {290, 0}, + {288, 0}, {1, "as"}, - {286, 0}, + {289, 0}, {1, "global"}, {1, "nonlocal"}, {1, "assert"}, - {294, 0}, - {295, 0}, - {296, 0}, {297, 0}, {298, 0}, + {299, 0}, + {300, 0}, + {301, 0}, {1, "if"}, {1, "elif"}, {1, "else"}, @@ -2083,26 +2124,26 @@ {1, "for"}, {1, "in"}, {1, "try"}, - {300, 0}, + {303, 0}, {1, "finally"}, {1, "with"}, - {299, 0}, - {312, 0}, + {302, 0}, + {315, 0}, {1, "except"}, {5, 0}, {6, 0}, + {309, 0}, + {307, 0}, {306, 0}, - {304, 0}, - {303, 0}, - {305, 0}, + {308, 0}, {1, "lambda"}, - {307, 0}, + {310, 0}, {1, "or"}, - {308, 0}, + {311, 0}, {1, "and"}, {1, "not"}, - {309, 0}, - {310, 0}, + {312, 0}, + {313, 0}, {20, 0}, {21, 0}, {27, 0}, @@ -2111,52 +2152,52 @@ {28, 0}, {28, 0}, {1, "is"}, - {313, 0}, + {316, 0}, {18, 0}, - {314, 0}, + {317, 0}, {32, 0}, - {315, 0}, + {318, 0}, {19, 0}, - {316, 0}, + {319, 0}, {33, 0}, {34, 0}, - {317, 0}, + {320, 0}, {14, 0}, {15, 0}, - {318, 0}, + {321, 0}, {17, 0}, {24, 0}, {47, 0}, {31, 0}, - {319, 0}, - {320, 0}, {322, 0}, - {321, 0}, + {323, 0}, + {325, 0}, + {324, 0}, {9, 0}, {10, 0}, {25, 0}, - {328, 0}, + {331, 0}, {26, 0}, {2, 0}, {3, 0}, {1, "None"}, {1, "True"}, {1, "False"}, - {333, 0}, - {323, 0}, - {324, 0}, - {325, 0}, + {336, 0}, + {326, 0}, + {327, 0}, + {328, 0}, {1, "class"}, - {331, 0}, - {332, 0}, {334, 0}, {335, 0}, + {337, 0}, + {338, 0}, {1, "yield"}, - {337, 0}, + {340, 0}, }; grammar _PyParser_Grammar = { - 82, + 85, dfas, - {169, labels}, + {172, labels}, 256 };