diff options
author | Georg Brandl <georg@python.org> | 2006-09-06 06:51:57 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2006-09-06 06:51:57 (GMT) |
commit | 7cae87ca7b0a3a7ce497cbd335c8ec82fe680476 (patch) | |
tree | 612cc46e728bef49b19f3d4bc26fa4951b2c1c83 /Python | |
parent | 4e472e05bdddde72d91d6f25d6e048371cf3c9be (diff) | |
download | cpython-7cae87ca7b0a3a7ce497cbd335c8ec82fe680476.zip cpython-7cae87ca7b0a3a7ce497cbd335c8ec82fe680476.tar.gz cpython-7cae87ca7b0a3a7ce497cbd335c8ec82fe680476.tar.bz2 |
Patch #1550800: make exec a function.
Diffstat (limited to 'Python')
-rw-r--r-- | Python/Python-ast.c | 52 | ||||
-rw-r--r-- | Python/ast.c | 36 | ||||
-rw-r--r-- | Python/bltinmodule.c | 111 | ||||
-rw-r--r-- | Python/ceval.c | 117 | ||||
-rw-r--r-- | Python/compile.c | 17 | ||||
-rw-r--r-- | Python/graminit.c | 1559 | ||||
-rw-r--r-- | Python/symtable.c | 28 |
7 files changed, 873 insertions, 1047 deletions
diff --git a/Python/Python-ast.c b/Python/Python-ast.c index b322039..6ba978b 100644 --- a/Python/Python-ast.c +++ b/Python/Python-ast.c @@ -123,12 +123,6 @@ static char *ImportFrom_fields[]={ "names", "level", }; -static PyTypeObject *Exec_type; -static char *Exec_fields[]={ - "body", - "globals", - "locals", -}; static PyTypeObject *Global_type; static char *Global_fields[]={ "names", @@ -494,8 +488,6 @@ static int init_types(void) ImportFrom_type = make_type("ImportFrom", stmt_type, ImportFrom_fields, 3); if (!ImportFrom_type) return 0; - Exec_type = make_type("Exec", stmt_type, Exec_fields, 3); - if (!Exec_type) return 0; Global_type = make_type("Global", stmt_type, Global_fields, 1); if (!Global_type) return 0; Expr_type = make_type("Expr", stmt_type, Expr_fields, 1); @@ -1170,30 +1162,6 @@ ImportFrom(identifier module, asdl_seq * names, int level, int lineno, int } stmt_ty -Exec(expr_ty body, expr_ty globals, expr_ty locals, int lineno, int col_offset, - PyArena *arena) -{ - stmt_ty p; - if (!body) { - PyErr_SetString(PyExc_ValueError, - "field body is required for Exec"); - return NULL; - } - p = (stmt_ty)PyArena_Malloc(arena, sizeof(*p)); - if (!p) { - PyErr_NoMemory(); - return NULL; - } - p->kind = Exec_kind; - p->v.Exec.body = body; - p->v.Exec.globals = globals; - p->v.Exec.locals = locals; - p->lineno = lineno; - p->col_offset = col_offset; - return p; -} - -stmt_ty Global(asdl_seq * names, int lineno, int col_offset, PyArena *arena) { stmt_ty p; @@ -2274,25 +2242,6 @@ ast2obj_stmt(void* _o) goto failed; Py_DECREF(value); break; - case Exec_kind: - result = PyType_GenericNew(Exec_type, NULL, NULL); - if (!result) goto failed; - value = ast2obj_expr(o->v.Exec.body); - if (!value) goto failed; - if (PyObject_SetAttrString(result, "body", value) == -1) - goto failed; - Py_DECREF(value); - value = ast2obj_expr(o->v.Exec.globals); - if (!value) goto failed; - if (PyObject_SetAttrString(result, "globals", value) == -1) - goto failed; - Py_DECREF(value); - value = ast2obj_expr(o->v.Exec.locals); - if (!value) goto failed; - if (PyObject_SetAttrString(result, "locals", value) == -1) - goto failed; - Py_DECREF(value); - break; case Global_kind: result = PyType_GenericNew(Global_type, NULL, NULL); if (!result) goto failed; @@ -3082,7 +3031,6 @@ init_ast(void) return; if (PyDict_SetItemString(d, "ImportFrom", (PyObject*)ImportFrom_type) < 0) return; - if (PyDict_SetItemString(d, "Exec", (PyObject*)Exec_type) < 0) return; if (PyDict_SetItemString(d, "Global", (PyObject*)Global_type) < 0) return; if (PyDict_SetItemString(d, "Expr", (PyObject*)Expr_type) < 0) return; diff --git a/Python/ast.c b/Python/ast.c index cd0a81d..36f706e 100644 --- a/Python/ast.c +++ b/Python/ast.c @@ -2400,37 +2400,6 @@ ast_for_global_stmt(struct compiling *c, const node *n) } static stmt_ty -ast_for_exec_stmt(struct compiling *c, const node *n) -{ - expr_ty expr1, globals = NULL, locals = NULL; - int n_children = NCH(n); - if (n_children != 2 && n_children != 4 && n_children != 6) { - PyErr_Format(PyExc_SystemError, - "poorly formed 'exec' statement: %d parts to statement", - n_children); - return NULL; - } - - /* exec_stmt: 'exec' expr ['in' test [',' test]] */ - REQ(n, exec_stmt); - expr1 = ast_for_expr(c, CHILD(n, 1)); - if (!expr1) - return NULL; - if (n_children >= 4) { - globals = ast_for_expr(c, CHILD(n, 3)); - if (!globals) - return NULL; - } - if (n_children == 6) { - locals = ast_for_expr(c, CHILD(n, 5)); - if (!locals) - return NULL; - } - - return Exec(expr1, globals, locals, LINENO(n), n->n_col_offset, c->c_arena); -} - -static stmt_ty ast_for_assert_stmt(struct compiling *c, const node *n) { /* assert_stmt: 'assert' test [',' test] */ @@ -2944,8 +2913,7 @@ ast_for_stmt(struct compiling *c, const node *n) REQ(n, small_stmt); n = CHILD(n, 0); /* small_stmt: expr_stmt | print_stmt | del_stmt | pass_stmt - | flow_stmt | import_stmt | global_stmt | exec_stmt - | assert_stmt + | flow_stmt | import_stmt | global_stmt | assert_stmt */ switch (TYPE(n)) { case expr_stmt: @@ -2962,8 +2930,6 @@ ast_for_stmt(struct compiling *c, const node *n) return ast_for_import_stmt(c, n); case global_stmt: return ast_for_global_stmt(c, n); - case exec_stmt: - return ast_for_exec_stmt(c, n); case assert_stmt: return ast_for_assert_stmt(c, n); default: diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c index 200ec26..94d4bc3 100644 --- a/Python/bltinmodule.c +++ b/Python/bltinmodule.c @@ -403,7 +403,7 @@ PyDoc_STRVAR(compile_doc, "compile(source, filename, mode[, flags[, dont_inherit]]) -> code object\n\ \n\ Compile the source string (a Python module, statement or expression)\n\ -into a code object that can be executed by the exec statement or eval().\n\ +into a code object that can be executed by exec() or eval().\n\ The filename will be used for run-time error messages.\n\ The mode must be 'exec' to compile a module, 'single' to compile a\n\ single (interactive) statement, or 'eval' to compile an expression.\n\ @@ -543,6 +543,114 @@ The globals must be a dictionary and locals can be any mappping,\n\ defaulting to the current globals and locals.\n\ If only globals is given, locals defaults to it.\n"); +static PyObject * +builtin_exec(PyObject *self, PyObject *args) +{ + PyObject *v; + PyObject *prog, *globals = Py_None, *locals = Py_None; + int plain = 0; + + if (!PyArg_ParseTuple(args, "O|OO:exec", &prog, &globals, &locals)) + return NULL; + + if (globals == Py_None) { + globals = PyEval_GetGlobals(); + if (locals == Py_None) { + locals = PyEval_GetLocals(); + plain = 1; + } + if (!globals || !locals) { + PyErr_SetString(PyExc_SystemError, + "globals and locals cannot be NULL"); + return NULL; + } + } + else if (locals == Py_None) + locals = globals; + if (!PyString_Check(prog) && + !PyUnicode_Check(prog) && + !PyCode_Check(prog) && + !PyFile_Check(prog)) { + PyErr_Format(PyExc_TypeError, + "exec() arg 1 must be a string, file, or code " + "object, not %.100s", prog->ob_type->tp_name); + return NULL; + } + if (!PyDict_Check(globals)) { + PyErr_Format(PyExc_TypeError, "exec() arg 2 must be a dict, not %.100s", + globals->ob_type->tp_name); + return NULL; + } + if (!PyMapping_Check(locals)) { + PyErr_Format(PyExc_TypeError, + "arg 3 must be a mapping or None, not %.100s", + locals->ob_type->tp_name); + return NULL; + } + if (PyDict_GetItemString(globals, "__builtins__") == NULL) { + if (PyDict_SetItemString(globals, "__builtins__", + PyEval_GetBuiltins()) != 0) + return NULL; + } + + if (PyCode_Check(prog)) { + if (PyCode_GetNumFree((PyCodeObject *)prog) > 0) { + PyErr_SetString(PyExc_TypeError, + "code object passed to exec() may not " + "contain free variables"); + return NULL; + } + v = PyEval_EvalCode((PyCodeObject *) prog, globals, locals); + } + else if (PyFile_Check(prog)) { + FILE *fp = PyFile_AsFile(prog); + char *name = PyString_AsString(PyFile_Name(prog)); + PyCompilerFlags cf; + cf.cf_flags = 0; + if (PyEval_MergeCompilerFlags(&cf)) + v = PyRun_FileFlags(fp, name, Py_file_input, globals, + locals, &cf); + else + v = PyRun_File(fp, name, Py_file_input, globals, + locals); + } + else { + PyObject *tmp = NULL; + char *str; + PyCompilerFlags cf; + cf.cf_flags = 0; +#ifdef Py_USING_UNICODE + if (PyUnicode_Check(prog)) { + tmp = PyUnicode_AsUTF8String(prog); + if (tmp == NULL) + return NULL; + prog = tmp; + cf.cf_flags |= PyCF_SOURCE_IS_UTF8; + } +#endif + if (PyString_AsStringAndSize(prog, &str, NULL)) + return NULL; + if (PyEval_MergeCompilerFlags(&cf)) + v = PyRun_StringFlags(str, Py_file_input, globals, + locals, &cf); + else + v = PyRun_String(str, Py_file_input, globals, locals); + Py_XDECREF(tmp); + } + if (v == NULL) + return NULL; + Py_DECREF(v); + Py_RETURN_NONE; +} + +PyDoc_STRVAR(exec_doc, +"exec(object[, globals[, locals]])\n\ +\n\ +Read and execute code from a object, which can be a string, a code\n\ +object or a file object.\n\ +The globals and locals are dictionaries, defaulting to the current\n\ +globals and locals. If only globals is given, locals defaults to it."); + static PyObject * builtin_execfile(PyObject *self, PyObject *args) @@ -1884,6 +1992,7 @@ static PyMethodDef builtin_methods[] = { {"dir", builtin_dir, METH_VARARGS, dir_doc}, {"divmod", builtin_divmod, METH_VARARGS, divmod_doc}, {"eval", builtin_eval, METH_VARARGS, eval_doc}, + {"exec", builtin_exec, METH_VARARGS, exec_doc}, {"execfile", builtin_execfile, METH_VARARGS, execfile_doc}, {"filter", builtin_filter, METH_VARARGS, filter_doc}, {"getattr", builtin_getattr, METH_VARARGS, getattr_doc}, diff --git a/Python/ceval.c b/Python/ceval.c index 25e6a0b..dcbe53d 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -118,8 +118,6 @@ static PyObject * cmp_outcome(int, PyObject *, PyObject *); static PyObject * import_from(PyObject *, PyObject *); static int import_all_from(PyObject *, PyObject *); static PyObject * build_class(PyObject *, PyObject *, PyObject *); -static int exec_statement(PyFrameObject *, - PyObject *, PyObject *, PyObject *); static void set_exc_info(PyThreadState *, PyObject *, PyObject *, PyObject *); static void reset_exc_info(PyThreadState *); static void format_exc_check_arg(PyObject *, char *, PyObject *); @@ -580,7 +578,6 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) It's a case-by-case judgement. I'll use intr1 for the following cases: - EXEC_STMT IMPORT_STAR IMPORT_FROM CALL_FUNCTION (and friends) @@ -1622,19 +1619,6 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) why = WHY_YIELD; goto fast_yield; - case EXEC_STMT: - w = TOP(); - v = SECOND(); - u = THIRD(); - STACKADJ(-3); - READ_TIMESTAMP(intr0); - err = exec_statement(f, u, v, w); - READ_TIMESTAMP(intr1); - Py_DECREF(u); - Py_DECREF(v); - Py_DECREF(w); - break; - case POP_BLOCK: { PyTryBlock *b = PyFrame_BlockPop(f); @@ -4072,107 +4056,6 @@ build_class(PyObject *methods, PyObject *bases, PyObject *name) return result; } -static int -exec_statement(PyFrameObject *f, PyObject *prog, PyObject *globals, - PyObject *locals) -{ - int n; - PyObject *v; - int plain = 0; - - if (PyTuple_Check(prog) && globals == Py_None && locals == Py_None && - ((n = PyTuple_Size(prog)) == 2 || n == 3)) { - /* Backward compatibility hack */ - globals = PyTuple_GetItem(prog, 1); - if (n == 3) - locals = PyTuple_GetItem(prog, 2); - prog = PyTuple_GetItem(prog, 0); - } - if (globals == Py_None) { - globals = PyEval_GetGlobals(); - if (locals == Py_None) { - locals = PyEval_GetLocals(); - plain = 1; - } - if (!globals || !locals) { - PyErr_SetString(PyExc_SystemError, - "globals and locals cannot be NULL"); - return -1; - } - } - else if (locals == Py_None) - locals = globals; - if (!PyString_Check(prog) && - !PyUnicode_Check(prog) && - !PyCode_Check(prog) && - !PyFile_Check(prog)) { - PyErr_SetString(PyExc_TypeError, - "exec: arg 1 must be a string, file, or code object"); - return -1; - } - if (!PyDict_Check(globals)) { - PyErr_SetString(PyExc_TypeError, - "exec: arg 2 must be a dictionary or None"); - return -1; - } - if (!PyMapping_Check(locals)) { - PyErr_SetString(PyExc_TypeError, - "exec: arg 3 must be a mapping or None"); - return -1; - } - if (PyDict_GetItemString(globals, "__builtins__") == NULL) - PyDict_SetItemString(globals, "__builtins__", f->f_builtins); - if (PyCode_Check(prog)) { - if (PyCode_GetNumFree((PyCodeObject *)prog) > 0) { - PyErr_SetString(PyExc_TypeError, - "code object passed to exec may not contain free variables"); - return -1; - } - v = PyEval_EvalCode((PyCodeObject *) prog, globals, locals); - } - else if (PyFile_Check(prog)) { - FILE *fp = PyFile_AsFile(prog); - char *name = PyString_AsString(PyFile_Name(prog)); - PyCompilerFlags cf; - cf.cf_flags = 0; - if (PyEval_MergeCompilerFlags(&cf)) - v = PyRun_FileFlags(fp, name, Py_file_input, globals, - locals, &cf); - else - v = PyRun_File(fp, name, Py_file_input, globals, - locals); - } - else { - PyObject *tmp = NULL; - char *str; - PyCompilerFlags cf; - cf.cf_flags = 0; -#ifdef Py_USING_UNICODE - if (PyUnicode_Check(prog)) { - tmp = PyUnicode_AsUTF8String(prog); - if (tmp == NULL) - return -1; - prog = tmp; - cf.cf_flags |= PyCF_SOURCE_IS_UTF8; - } -#endif - if (PyString_AsStringAndSize(prog, &str, NULL)) - return -1; - if (PyEval_MergeCompilerFlags(&cf)) - v = PyRun_StringFlags(str, Py_file_input, globals, - locals, &cf); - else - v = PyRun_String(str, Py_file_input, globals, locals); - Py_XDECREF(tmp); - } - if (plain) - PyFrame_LocalsToFast(f, 0); - if (v == NULL) - return -1; - Py_DECREF(v); - return 0; -} - static void format_exc_check_arg(PyObject *exc, char *format_str, PyObject *obj) { diff --git a/Python/compile.c b/Python/compile.c index 945a281..ac82b84 100644 --- a/Python/compile.c +++ b/Python/compile.c @@ -814,8 +814,6 @@ opcode_stack_effect(int opcode, int oparg) return -1; case IMPORT_STAR: return -1; - case EXEC_STMT: - return -3; case YIELD_VALUE: return 0; @@ -2112,21 +2110,6 @@ compiler_visit_stmt(struct compiler *c, stmt_ty s) return compiler_import(c, s); case ImportFrom_kind: return compiler_from_import(c, s); - case Exec_kind: - VISIT(c, expr, s->v.Exec.body); - if (s->v.Exec.globals) { - VISIT(c, expr, s->v.Exec.globals); - if (s->v.Exec.locals) { - VISIT(c, expr, s->v.Exec.locals); - } else { - ADDOP(c, DUP_TOP); - } - } else { - ADDOP_O(c, LOAD_CONST, Py_None, consts); - ADDOP(c, DUP_TOP); - } - ADDOP(c, EXEC_STMT); - break; case Global_kind: break; case Expr_kind: diff --git a/Python/graminit.c b/Python/graminit.c index aeaa429..1d49a8c 100644 --- a/Python/graminit.c +++ b/Python/graminit.c @@ -253,7 +253,7 @@ static state states_11[4] = { {2, arcs_11_2}, {1, arcs_11_3}, }; -static arc arcs_12_0[9] = { +static arc arcs_12_0[8] = { {33, 1}, {34, 1}, {35, 1}, @@ -262,29 +262,28 @@ static arc arcs_12_0[9] = { {38, 1}, {39, 1}, {40, 1}, - {41, 1}, }; static arc arcs_12_1[1] = { {0, 1}, }; static state states_12[2] = { - {9, arcs_12_0}, + {8, arcs_12_0}, {1, arcs_12_1}, }; static arc arcs_13_0[1] = { {9, 1}, }; static arc arcs_13_1[3] = { - {42, 2}, + {41, 2}, {25, 3}, {0, 1}, }; static arc arcs_13_2[2] = { - {43, 4}, + {42, 4}, {9, 4}, }; static arc arcs_13_3[2] = { - {43, 5}, + {42, 5}, {9, 5}, }; static arc arcs_13_4[1] = { @@ -303,6 +302,7 @@ static state states_13[6] = { {2, arcs_13_5}, }; static arc arcs_14_0[12] = { + {43, 1}, {44, 1}, {45, 1}, {46, 1}, @@ -314,7 +314,6 @@ static arc arcs_14_0[12] = { {52, 1}, {53, 1}, {54, 1}, - {55, 1}, }; static arc arcs_14_1[1] = { {0, 1}, @@ -324,11 +323,11 @@ static state states_14[2] = { {1, arcs_14_1}, }; static arc arcs_15_0[1] = { - {56, 1}, + {55, 1}, }; static arc arcs_15_1[3] = { {26, 2}, - {57, 3}, + {56, 3}, {0, 1}, }; static arc arcs_15_2[2] = { @@ -369,10 +368,10 @@ static state states_15[9] = { {2, arcs_15_8}, }; static arc arcs_16_0[1] = { - {58, 1}, + {57, 1}, }; static arc arcs_16_1[1] = { - {59, 2}, + {58, 2}, }; static arc arcs_16_2[1] = { {0, 2}, @@ -383,7 +382,7 @@ static state states_16[3] = { {1, arcs_16_2}, }; static arc arcs_17_0[1] = { - {60, 1}, + {59, 1}, }; static arc arcs_17_1[1] = { {0, 1}, @@ -393,11 +392,11 @@ static state states_17[2] = { {1, arcs_17_1}, }; static arc arcs_18_0[5] = { + {60, 1}, {61, 1}, {62, 1}, {63, 1}, {64, 1}, - {65, 1}, }; static arc arcs_18_1[1] = { {0, 1}, @@ -407,7 +406,7 @@ static state states_18[2] = { {1, arcs_18_1}, }; static arc arcs_19_0[1] = { - {66, 1}, + {65, 1}, }; static arc arcs_19_1[1] = { {0, 1}, @@ -417,7 +416,7 @@ static state states_19[2] = { {1, arcs_19_1}, }; static arc arcs_20_0[1] = { - {67, 1}, + {66, 1}, }; static arc arcs_20_1[1] = { {0, 1}, @@ -427,7 +426,7 @@ static state states_20[2] = { {1, arcs_20_1}, }; static arc arcs_21_0[1] = { - {68, 1}, + {67, 1}, }; static arc arcs_21_1[2] = { {9, 2}, @@ -442,7 +441,7 @@ static state states_21[3] = { {1, arcs_21_2}, }; static arc arcs_22_0[1] = { - {43, 1}, + {42, 1}, }; static arc arcs_22_1[1] = { {0, 1}, @@ -452,7 +451,7 @@ static state states_22[2] = { {1, arcs_22_1}, }; static arc arcs_23_0[1] = { - {69, 1}, + {68, 1}, }; static arc arcs_23_1[2] = { {26, 2}, @@ -485,8 +484,8 @@ static state states_23[7] = { {1, arcs_23_6}, }; static arc arcs_24_0[2] = { + {69, 1}, {70, 1}, - {71, 1}, }; static arc arcs_24_1[1] = { {0, 1}, @@ -496,10 +495,10 @@ static state states_24[2] = { {1, arcs_24_1}, }; static arc arcs_25_0[1] = { - {72, 1}, + {71, 1}, }; static arc arcs_25_1[1] = { - {73, 2}, + {72, 2}, }; static arc arcs_25_2[1] = { {0, 2}, @@ -510,30 +509,30 @@ static state states_25[3] = { {1, arcs_25_2}, }; static arc arcs_26_0[1] = { - {74, 1}, + {73, 1}, }; static arc arcs_26_1[2] = { - {75, 2}, + {74, 2}, {12, 3}, }; static arc arcs_26_2[3] = { - {75, 2}, + {74, 2}, {12, 3}, - {72, 4}, + {71, 4}, }; static arc arcs_26_3[1] = { - {72, 4}, + {71, 4}, }; static arc arcs_26_4[3] = { {28, 5}, {13, 6}, - {76, 5}, + {75, 5}, }; static arc arcs_26_5[1] = { {0, 5}, }; static arc arcs_26_6[1] = { - {76, 7}, + {75, 7}, }; static arc arcs_26_7[1] = { {15, 5}, @@ -552,7 +551,7 @@ static arc arcs_27_0[1] = { {19, 1}, }; static arc arcs_27_1[2] = { - {78, 2}, + {77, 2}, {0, 1}, }; static arc arcs_27_2[1] = { @@ -571,7 +570,7 @@ static arc arcs_28_0[1] = { {12, 1}, }; static arc arcs_28_1[2] = { - {78, 2}, + {77, 2}, {0, 1}, }; static arc arcs_28_2[1] = { @@ -587,14 +586,14 @@ static state states_28[4] = { {1, arcs_28_3}, }; static arc arcs_29_0[1] = { - {77, 1}, + {76, 1}, }; static arc arcs_29_1[2] = { {27, 2}, {0, 1}, }; static arc arcs_29_2[2] = { - {77, 1}, + {76, 1}, {0, 2}, }; static state states_29[3] = { @@ -603,7 +602,7 @@ static state states_29[3] = { {2, arcs_29_2}, }; static arc arcs_30_0[1] = { - {79, 1}, + {78, 1}, }; static arc arcs_30_1[2] = { {27, 0}, @@ -617,7 +616,7 @@ static arc arcs_31_0[1] = { {19, 1}, }; static arc arcs_31_1[2] = { - {75, 0}, + {74, 0}, {0, 1}, }; static state states_31[2] = { @@ -625,7 +624,7 @@ static state states_31[2] = { {2, arcs_31_1}, }; static arc arcs_32_0[1] = { - {80, 1}, + {79, 1}, }; static arc arcs_32_1[1] = { {19, 2}, @@ -640,78 +639,82 @@ static state states_32[3] = { {2, arcs_32_2}, }; static arc arcs_33_0[1] = { - {81, 1}, + {80, 1}, }; static arc arcs_33_1[1] = { - {82, 2}, + {26, 2}, }; static arc arcs_33_2[2] = { - {83, 3}, + {27, 3}, {0, 2}, }; static arc arcs_33_3[1] = { {26, 4}, }; -static arc arcs_33_4[2] = { - {27, 5}, +static arc arcs_33_4[1] = { {0, 4}, }; -static arc arcs_33_5[1] = { - {26, 6}, -}; -static arc arcs_33_6[1] = { - {0, 6}, -}; -static state states_33[7] = { +static state states_33[5] = { {1, arcs_33_0}, {1, arcs_33_1}, {2, arcs_33_2}, {1, arcs_33_3}, - {2, arcs_33_4}, - {1, arcs_33_5}, - {1, arcs_33_6}, + {1, arcs_33_4}, }; -static arc arcs_34_0[1] = { +static arc arcs_34_0[7] = { + {81, 1}, + {82, 1}, + {83, 1}, {84, 1}, + {85, 1}, + {17, 1}, + {86, 1}, }; static arc arcs_34_1[1] = { + {0, 1}, +}; +static state states_34[2] = { + {7, arcs_34_0}, + {1, arcs_34_1}, +}; +static arc arcs_35_0[1] = { + {87, 1}, +}; +static arc arcs_35_1[1] = { {26, 2}, }; -static arc arcs_34_2[2] = { - {27, 3}, - {0, 2}, +static arc arcs_35_2[1] = { + {21, 3}, }; -static arc arcs_34_3[1] = { - {26, 4}, +static arc arcs_35_3[1] = { + {22, 4}, }; -static arc arcs_34_4[1] = { +static arc arcs_35_4[3] = { + {88, 1}, + {89, 5}, {0, 4}, }; -static state states_34[5] = { - {1, arcs_34_0}, - {1, arcs_34_1}, - {2, arcs_34_2}, - {1, arcs_34_3}, - {1, arcs_34_4}, +static arc arcs_35_5[1] = { + {21, 6}, }; -static arc arcs_35_0[7] = { - {85, 1}, - {86, 1}, - {87, 1}, - {88, 1}, - {89, 1}, - {17, 1}, - {90, 1}, +static arc arcs_35_6[1] = { + {22, 7}, }; -static arc arcs_35_1[1] = { - {0, 1}, +static arc arcs_35_7[1] = { + {0, 7}, }; -static state states_35[2] = { - {7, arcs_35_0}, +static state states_35[8] = { + {1, arcs_35_0}, {1, arcs_35_1}, + {1, arcs_35_2}, + {1, arcs_35_3}, + {3, arcs_35_4}, + {1, arcs_35_5}, + {1, arcs_35_6}, + {1, arcs_35_7}, }; static arc arcs_36_0[1] = { - {91, 1}, + {90, 1}, }; static arc arcs_36_1[1] = { {26, 2}, @@ -722,9 +725,8 @@ static arc arcs_36_2[1] = { static arc arcs_36_3[1] = { {22, 4}, }; -static arc arcs_36_4[3] = { - {92, 1}, - {93, 5}, +static arc arcs_36_4[2] = { + {89, 5}, {0, 4}, }; static arc arcs_36_5[1] = { @@ -741,323 +743,299 @@ static state states_36[8] = { {1, arcs_36_1}, {1, arcs_36_2}, {1, arcs_36_3}, - {3, arcs_36_4}, + {2, arcs_36_4}, {1, arcs_36_5}, {1, arcs_36_6}, {1, arcs_36_7}, }; static arc arcs_37_0[1] = { - {94, 1}, + {91, 1}, }; static arc arcs_37_1[1] = { - {26, 2}, + {58, 2}, }; static arc arcs_37_2[1] = { - {21, 3}, + {92, 3}, }; static arc arcs_37_3[1] = { - {22, 4}, + {9, 4}, }; -static arc arcs_37_4[2] = { - {93, 5}, - {0, 4}, +static arc arcs_37_4[1] = { + {21, 5}, }; static arc arcs_37_5[1] = { - {21, 6}, + {22, 6}, }; -static arc arcs_37_6[1] = { - {22, 7}, +static arc arcs_37_6[2] = { + {89, 7}, + {0, 6}, }; static arc arcs_37_7[1] = { - {0, 7}, + {21, 8}, }; -static state states_37[8] = { +static arc arcs_37_8[1] = { + {22, 9}, +}; +static arc arcs_37_9[1] = { + {0, 9}, +}; +static state states_37[10] = { {1, arcs_37_0}, {1, arcs_37_1}, {1, arcs_37_2}, {1, arcs_37_3}, - {2, arcs_37_4}, + {1, arcs_37_4}, {1, arcs_37_5}, - {1, arcs_37_6}, + {2, arcs_37_6}, {1, arcs_37_7}, + {1, arcs_37_8}, + {1, arcs_37_9}, }; static arc arcs_38_0[1] = { - {95, 1}, + {93, 1}, }; static arc arcs_38_1[1] = { - {59, 2}, + {21, 2}, }; static arc arcs_38_2[1] = { - {83, 3}, + {22, 3}, }; -static arc arcs_38_3[1] = { - {9, 4}, +static arc arcs_38_3[2] = { + {94, 4}, + {95, 5}, }; static arc arcs_38_4[1] = { - {21, 5}, + {21, 6}, }; static arc arcs_38_5[1] = { - {22, 6}, + {21, 7}, }; -static arc arcs_38_6[2] = { - {93, 7}, - {0, 6}, +static arc arcs_38_6[1] = { + {22, 8}, }; static arc arcs_38_7[1] = { - {21, 8}, -}; -static arc arcs_38_8[1] = { {22, 9}, }; +static arc arcs_38_8[4] = { + {94, 4}, + {89, 10}, + {95, 5}, + {0, 8}, +}; static arc arcs_38_9[1] = { {0, 9}, }; -static state states_38[10] = { +static arc arcs_38_10[1] = { + {21, 11}, +}; +static arc arcs_38_11[1] = { + {22, 12}, +}; +static arc arcs_38_12[2] = { + {95, 5}, + {0, 12}, +}; +static state states_38[13] = { {1, arcs_38_0}, {1, arcs_38_1}, {1, arcs_38_2}, - {1, arcs_38_3}, + {2, arcs_38_3}, {1, arcs_38_4}, {1, arcs_38_5}, - {2, arcs_38_6}, + {1, arcs_38_6}, {1, arcs_38_7}, - {1, arcs_38_8}, + {4, arcs_38_8}, {1, arcs_38_9}, + {1, arcs_38_10}, + {1, arcs_38_11}, + {2, arcs_38_12}, }; static arc arcs_39_0[1] = { {96, 1}, }; static arc arcs_39_1[1] = { - {21, 2}, + {26, 2}, }; -static arc arcs_39_2[1] = { - {22, 3}, +static arc arcs_39_2[2] = { + {97, 3}, + {21, 4}, }; -static arc arcs_39_3[2] = { - {97, 4}, - {98, 5}, +static arc arcs_39_3[1] = { + {21, 4}, }; static arc arcs_39_4[1] = { - {21, 6}, + {22, 5}, }; static arc arcs_39_5[1] = { - {21, 7}, -}; -static arc arcs_39_6[1] = { - {22, 8}, -}; -static arc arcs_39_7[1] = { - {22, 9}, -}; -static arc arcs_39_8[4] = { - {97, 4}, - {93, 10}, - {98, 5}, - {0, 8}, -}; -static arc arcs_39_9[1] = { - {0, 9}, -}; -static arc arcs_39_10[1] = { - {21, 11}, -}; -static arc arcs_39_11[1] = { - {22, 12}, -}; -static arc arcs_39_12[2] = { - {98, 5}, - {0, 12}, + {0, 5}, }; -static state states_39[13] = { +static state states_39[6] = { {1, arcs_39_0}, {1, arcs_39_1}, - {1, arcs_39_2}, - {2, arcs_39_3}, + {2, arcs_39_2}, + {1, arcs_39_3}, {1, arcs_39_4}, {1, arcs_39_5}, - {1, arcs_39_6}, - {1, arcs_39_7}, - {4, arcs_39_8}, - {1, arcs_39_9}, - {1, arcs_39_10}, - {1, arcs_39_11}, - {2, arcs_39_12}, }; static arc arcs_40_0[1] = { - {99, 1}, + {77, 1}, }; static arc arcs_40_1[1] = { - {26, 2}, -}; -static arc arcs_40_2[2] = { - {100, 3}, - {21, 4}, -}; -static arc arcs_40_3[1] = { - {21, 4}, -}; -static arc arcs_40_4[1] = { - {22, 5}, + {98, 2}, }; -static arc arcs_40_5[1] = { - {0, 5}, +static arc arcs_40_2[1] = { + {0, 2}, }; -static state states_40[6] = { +static state states_40[3] = { {1, arcs_40_0}, {1, arcs_40_1}, - {2, arcs_40_2}, - {1, arcs_40_3}, - {1, arcs_40_4}, - {1, arcs_40_5}, + {1, arcs_40_2}, }; static arc arcs_41_0[1] = { - {78, 1}, -}; -static arc arcs_41_1[1] = { - {82, 2}, -}; -static arc arcs_41_2[1] = { - {0, 2}, -}; -static state states_41[3] = { - {1, arcs_41_0}, - {1, arcs_41_1}, - {1, arcs_41_2}, -}; -static arc arcs_42_0[1] = { - {101, 1}, + {99, 1}, }; -static arc arcs_42_1[2] = { +static arc arcs_41_1[2] = { {26, 2}, {0, 1}, }; -static arc arcs_42_2[2] = { +static arc arcs_41_2[2] = { {27, 3}, {0, 2}, }; -static arc arcs_42_3[1] = { +static arc arcs_41_3[1] = { {26, 4}, }; -static arc arcs_42_4[1] = { +static arc arcs_41_4[1] = { {0, 4}, }; -static state states_42[5] = { - {1, arcs_42_0}, - {2, arcs_42_1}, - {2, arcs_42_2}, - {1, arcs_42_3}, - {1, arcs_42_4}, +static state states_41[5] = { + {1, arcs_41_0}, + {2, arcs_41_1}, + {2, arcs_41_2}, + {1, arcs_41_3}, + {1, arcs_41_4}, }; -static arc arcs_43_0[2] = { +static arc arcs_42_0[2] = { {3, 1}, {2, 2}, }; -static arc arcs_43_1[1] = { +static arc arcs_42_1[1] = { {0, 1}, }; -static arc arcs_43_2[1] = { - {102, 3}, +static arc arcs_42_2[1] = { + {100, 3}, }; -static arc arcs_43_3[1] = { +static arc arcs_42_3[1] = { {6, 4}, }; -static arc arcs_43_4[2] = { +static arc arcs_42_4[2] = { {6, 4}, - {103, 1}, + {101, 1}, }; -static state states_43[5] = { - {2, arcs_43_0}, - {1, arcs_43_1}, - {1, arcs_43_2}, - {1, arcs_43_3}, - {2, arcs_43_4}, +static state states_42[5] = { + {2, arcs_42_0}, + {1, arcs_42_1}, + {1, arcs_42_2}, + {1, arcs_42_3}, + {2, arcs_42_4}, }; -static arc arcs_44_0[1] = { - {105, 1}, +static arc arcs_43_0[1] = { + {103, 1}, }; -static arc arcs_44_1[2] = { +static arc arcs_43_1[2] = { {27, 2}, {0, 1}, }; -static arc arcs_44_2[1] = { - {105, 3}, +static arc arcs_43_2[1] = { + {103, 3}, }; -static arc arcs_44_3[2] = { +static arc arcs_43_3[2] = { {27, 4}, {0, 3}, }; -static arc arcs_44_4[2] = { - {105, 3}, +static arc arcs_43_4[2] = { + {103, 3}, {0, 4}, }; -static state states_44[5] = { - {1, arcs_44_0}, - {2, arcs_44_1}, - {1, arcs_44_2}, - {2, arcs_44_3}, - {2, arcs_44_4}, +static state states_43[5] = { + {1, arcs_43_0}, + {2, arcs_43_1}, + {1, arcs_43_2}, + {2, arcs_43_3}, + {2, arcs_43_4}, }; -static arc arcs_45_0[2] = { - {106, 1}, - {107, 1}, +static arc arcs_44_0[2] = { + {104, 1}, + {105, 1}, }; -static arc arcs_45_1[1] = { +static arc arcs_44_1[1] = { {0, 1}, }; -static state states_45[2] = { - {2, arcs_45_0}, - {1, arcs_45_1}, +static state states_44[2] = { + {2, arcs_44_0}, + {1, arcs_44_1}, }; -static arc arcs_46_0[1] = { - {108, 1}, +static arc arcs_45_0[1] = { + {106, 1}, }; -static arc arcs_46_1[2] = { +static arc arcs_45_1[2] = { {23, 2}, {21, 3}, }; -static arc arcs_46_2[1] = { +static arc arcs_45_2[1] = { {21, 3}, }; -static arc arcs_46_3[1] = { - {105, 4}, +static arc arcs_45_3[1] = { + {103, 4}, }; -static arc arcs_46_4[1] = { +static arc arcs_45_4[1] = { {0, 4}, }; -static state states_46[5] = { - {1, arcs_46_0}, - {2, arcs_46_1}, - {1, arcs_46_2}, - {1, arcs_46_3}, - {1, arcs_46_4}, +static state states_45[5] = { + {1, arcs_45_0}, + {2, arcs_45_1}, + {1, arcs_45_2}, + {1, arcs_45_3}, + {1, arcs_45_4}, }; -static arc arcs_47_0[2] = { - {106, 1}, - {109, 2}, +static arc arcs_46_0[2] = { + {104, 1}, + {107, 2}, }; -static arc arcs_47_1[2] = { - {91, 3}, +static arc arcs_46_1[2] = { + {87, 3}, {0, 1}, }; -static arc arcs_47_2[1] = { +static arc arcs_46_2[1] = { {0, 2}, }; -static arc arcs_47_3[1] = { - {106, 4}, +static arc arcs_46_3[1] = { + {104, 4}, }; -static arc arcs_47_4[1] = { - {93, 5}, +static arc arcs_46_4[1] = { + {89, 5}, }; -static arc arcs_47_5[1] = { +static arc arcs_46_5[1] = { {26, 2}, }; -static state states_47[6] = { - {2, arcs_47_0}, +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[1] = { + {108, 1}, +}; +static arc arcs_47_1[2] = { + {109, 0}, + {0, 1}, +}; +static state states_47[2] = { + {1, arcs_47_0}, {2, arcs_47_1}, - {1, arcs_47_2}, - {1, arcs_47_3}, - {1, arcs_47_4}, - {1, arcs_47_5}, }; static arc arcs_48_0[1] = { {110, 1}, @@ -1070,69 +1048,69 @@ static state states_48[2] = { {1, arcs_48_0}, {2, arcs_48_1}, }; -static arc arcs_49_0[1] = { +static arc arcs_49_0[2] = { {112, 1}, + {113, 2}, }; -static arc arcs_49_1[2] = { - {113, 0}, - {0, 1}, -}; -static state states_49[2] = { - {1, arcs_49_0}, - {2, arcs_49_1}, +static arc arcs_49_1[1] = { + {110, 2}, }; -static arc arcs_50_0[2] = { - {114, 1}, - {115, 2}, -}; -static arc arcs_50_1[1] = { - {112, 2}, -}; -static arc arcs_50_2[1] = { +static arc arcs_49_2[1] = { {0, 2}, }; -static state states_50[3] = { - {2, arcs_50_0}, - {1, arcs_50_1}, - {1, arcs_50_2}, +static state states_49[3] = { + {2, arcs_49_0}, + {1, arcs_49_1}, + {1, arcs_49_2}, }; -static arc arcs_51_0[1] = { - {82, 1}, +static arc arcs_50_0[1] = { + {98, 1}, }; -static arc arcs_51_1[2] = { - {116, 0}, +static arc arcs_50_1[2] = { + {114, 0}, {0, 1}, }; -static state states_51[2] = { - {1, arcs_51_0}, - {2, arcs_51_1}, +static state states_50[2] = { + {1, arcs_50_0}, + {2, arcs_50_1}, }; -static arc arcs_52_0[9] = { +static arc arcs_51_0[9] = { + {115, 1}, + {116, 1}, {117, 1}, {118, 1}, {119, 1}, {120, 1}, - {121, 1}, - {122, 1}, - {83, 1}, - {114, 2}, - {123, 3}, + {92, 1}, + {112, 2}, + {121, 3}, }; -static arc arcs_52_1[1] = { +static arc arcs_51_1[1] = { {0, 1}, }; -static arc arcs_52_2[1] = { - {83, 1}, +static arc arcs_51_2[1] = { + {92, 1}, }; -static arc arcs_52_3[2] = { - {114, 1}, +static arc arcs_51_3[2] = { + {112, 1}, {0, 3}, }; -static state states_52[4] = { - {9, arcs_52_0}, - {1, arcs_52_1}, - {1, arcs_52_2}, - {2, arcs_52_3}, +static state states_51[4] = { + {9, arcs_51_0}, + {1, arcs_51_1}, + {1, arcs_51_2}, + {2, arcs_51_3}, +}; +static arc arcs_52_0[1] = { + {122, 1}, +}; +static arc arcs_52_1[2] = { + {123, 0}, + {0, 1}, +}; +static state states_52[2] = { + {1, arcs_52_0}, + {2, arcs_52_1}, }; static arc arcs_53_0[1] = { {124, 1}, @@ -1159,20 +1137,21 @@ static state states_54[2] = { static arc arcs_55_0[1] = { {128, 1}, }; -static arc arcs_55_1[2] = { +static arc arcs_55_1[3] = { {129, 0}, + {56, 0}, {0, 1}, }; static state states_55[2] = { {1, arcs_55_0}, - {2, arcs_55_1}, + {3, arcs_55_1}, }; static arc arcs_56_0[1] = { {130, 1}, }; static arc arcs_56_1[3] = { {131, 0}, - {57, 0}, + {132, 0}, {0, 1}, }; static state states_56[2] = { @@ -1180,121 +1159,135 @@ static state states_56[2] = { {3, arcs_56_1}, }; static arc arcs_57_0[1] = { - {132, 1}, + {133, 1}, }; -static arc arcs_57_1[3] = { - {133, 0}, +static arc arcs_57_1[5] = { + {28, 0}, {134, 0}, + {135, 0}, + {136, 0}, {0, 1}, }; static state states_57[2] = { {1, arcs_57_0}, - {3, arcs_57_1}, -}; -static arc arcs_58_0[1] = { - {135, 1}, -}; -static arc arcs_58_1[5] = { - {28, 0}, - {136, 0}, - {137, 0}, - {138, 0}, - {0, 1}, -}; -static state states_58[2] = { - {1, arcs_58_0}, - {5, arcs_58_1}, + {5, arcs_57_1}, }; -static arc arcs_59_0[4] = { - {133, 1}, - {134, 1}, - {139, 1}, - {140, 2}, +static arc arcs_58_0[4] = { + {131, 1}, + {132, 1}, + {137, 1}, + {138, 2}, }; -static arc arcs_59_1[1] = { - {135, 2}, +static arc arcs_58_1[1] = { + {133, 2}, }; -static arc arcs_59_2[1] = { +static arc arcs_58_2[1] = { {0, 2}, }; -static state states_59[3] = { - {4, arcs_59_0}, - {1, arcs_59_1}, - {1, arcs_59_2}, +static state states_58[3] = { + {4, arcs_58_0}, + {1, arcs_58_1}, + {1, arcs_58_2}, }; -static arc arcs_60_0[1] = { - {141, 1}, +static arc arcs_59_0[1] = { + {139, 1}, }; -static arc arcs_60_1[3] = { - {142, 1}, +static arc arcs_59_1[3] = { + {140, 1}, {29, 2}, {0, 1}, }; -static arc arcs_60_2[1] = { - {135, 3}, +static arc arcs_59_2[1] = { + {133, 3}, }; -static arc arcs_60_3[1] = { +static arc arcs_59_3[1] = { {0, 3}, }; -static state states_60[4] = { - {1, arcs_60_0}, - {3, arcs_60_1}, - {1, arcs_60_2}, - {1, arcs_60_3}, +static state states_59[4] = { + {1, arcs_59_0}, + {3, arcs_59_1}, + {1, arcs_59_2}, + {1, arcs_59_3}, }; -static arc arcs_61_0[6] = { +static arc arcs_60_0[6] = { {13, 1}, - {144, 2}, - {147, 3}, + {142, 2}, + {145, 3}, {19, 4}, - {150, 4}, - {151, 5}, + {148, 4}, + {149, 5}, }; -static arc arcs_61_1[3] = { - {43, 6}, - {143, 6}, +static arc arcs_60_1[3] = { + {42, 6}, + {141, 6}, {15, 4}, }; -static arc arcs_61_2[2] = { - {145, 7}, - {146, 4}, +static arc arcs_60_2[2] = { + {143, 7}, + {144, 4}, }; -static arc arcs_61_3[2] = { - {148, 8}, - {149, 4}, +static arc arcs_60_3[2] = { + {146, 8}, + {147, 4}, }; -static arc arcs_61_4[1] = { +static arc arcs_60_4[1] = { {0, 4}, }; -static arc arcs_61_5[2] = { - {151, 5}, +static arc arcs_60_5[2] = { + {149, 5}, {0, 5}, }; -static arc arcs_61_6[1] = { +static arc arcs_60_6[1] = { {15, 4}, }; -static arc arcs_61_7[1] = { - {146, 4}, +static arc arcs_60_7[1] = { + {144, 4}, +}; +static arc arcs_60_8[1] = { + {147, 4}, }; -static arc arcs_61_8[1] = { - {149, 4}, +static state states_60[9] = { + {6, arcs_60_0}, + {3, arcs_60_1}, + {2, arcs_60_2}, + {2, arcs_60_3}, + {1, arcs_60_4}, + {2, arcs_60_5}, + {1, arcs_60_6}, + {1, arcs_60_7}, + {1, arcs_60_8}, +}; +static arc arcs_61_0[1] = { + {26, 1}, +}; +static arc arcs_61_1[3] = { + {150, 2}, + {27, 3}, + {0, 1}, +}; +static arc arcs_61_2[1] = { + {0, 2}, }; -static state states_61[9] = { - {6, arcs_61_0}, +static arc arcs_61_3[2] = { + {26, 4}, + {0, 3}, +}; +static arc arcs_61_4[2] = { + {27, 3}, + {0, 4}, +}; +static state states_61[5] = { + {1, arcs_61_0}, {3, arcs_61_1}, - {2, arcs_61_2}, + {1, arcs_61_2}, {2, arcs_61_3}, - {1, arcs_61_4}, - {2, arcs_61_5}, - {1, arcs_61_6}, - {1, arcs_61_7}, - {1, arcs_61_8}, + {2, arcs_61_4}, }; static arc arcs_62_0[1] = { {26, 1}, }; static arc arcs_62_1[3] = { - {152, 2}, + {151, 2}, {27, 3}, {0, 1}, }; @@ -1317,163 +1310,153 @@ static state states_62[5] = { {2, arcs_62_4}, }; static arc arcs_63_0[1] = { - {26, 1}, + {106, 1}, }; -static arc arcs_63_1[3] = { - {153, 2}, - {27, 3}, - {0, 1}, +static arc arcs_63_1[2] = { + {23, 2}, + {21, 3}, }; static arc arcs_63_2[1] = { - {0, 2}, + {21, 3}, }; -static arc arcs_63_3[2] = { +static arc arcs_63_3[1] = { {26, 4}, - {0, 3}, }; -static arc arcs_63_4[2] = { - {27, 3}, +static arc arcs_63_4[1] = { {0, 4}, }; static state states_63[5] = { {1, arcs_63_0}, - {3, arcs_63_1}, + {2, arcs_63_1}, {1, arcs_63_2}, - {2, arcs_63_3}, - {2, arcs_63_4}, + {1, arcs_63_3}, + {1, arcs_63_4}, }; -static arc arcs_64_0[1] = { - {108, 1}, +static arc arcs_64_0[3] = { + {13, 1}, + {142, 2}, + {74, 3}, }; static arc arcs_64_1[2] = { - {23, 2}, - {21, 3}, + {14, 4}, + {15, 5}, }; static arc arcs_64_2[1] = { - {21, 3}, + {152, 6}, }; static arc arcs_64_3[1] = { - {26, 4}, + {19, 5}, }; static arc arcs_64_4[1] = { - {0, 4}, + {15, 5}, }; -static state states_64[5] = { - {1, arcs_64_0}, +static arc arcs_64_5[1] = { + {0, 5}, +}; +static arc arcs_64_6[1] = { + {144, 5}, +}; +static state states_64[7] = { + {3, arcs_64_0}, {2, arcs_64_1}, {1, arcs_64_2}, {1, arcs_64_3}, {1, arcs_64_4}, + {1, arcs_64_5}, + {1, arcs_64_6}, }; -static arc arcs_65_0[3] = { - {13, 1}, - {144, 2}, - {75, 3}, +static arc arcs_65_0[1] = { + {153, 1}, }; static arc arcs_65_1[2] = { - {14, 4}, - {15, 5}, -}; -static arc arcs_65_2[1] = { - {154, 6}, -}; -static arc arcs_65_3[1] = { - {19, 5}, -}; -static arc arcs_65_4[1] = { - {15, 5}, -}; -static arc arcs_65_5[1] = { - {0, 5}, -}; -static arc arcs_65_6[1] = { - {146, 5}, -}; -static state states_65[7] = { - {3, arcs_65_0}, - {2, arcs_65_1}, - {1, arcs_65_2}, - {1, arcs_65_3}, - {1, arcs_65_4}, - {1, arcs_65_5}, - {1, arcs_65_6}, -}; -static arc arcs_66_0[1] = { - {155, 1}, -}; -static arc arcs_66_1[2] = { {27, 2}, {0, 1}, }; -static arc arcs_66_2[2] = { - {155, 1}, +static arc arcs_65_2[2] = { + {153, 1}, {0, 2}, }; -static state states_66[3] = { - {1, arcs_66_0}, - {2, arcs_66_1}, - {2, arcs_66_2}, +static state states_65[3] = { + {1, arcs_65_0}, + {2, arcs_65_1}, + {2, arcs_65_2}, }; -static arc arcs_67_0[3] = { - {75, 1}, +static arc arcs_66_0[3] = { + {74, 1}, {26, 2}, {21, 3}, }; -static arc arcs_67_1[1] = { - {75, 4}, +static arc arcs_66_1[1] = { + {74, 4}, }; -static arc arcs_67_2[2] = { +static arc arcs_66_2[2] = { {21, 3}, {0, 2}, }; -static arc arcs_67_3[3] = { +static arc arcs_66_3[3] = { {26, 5}, - {156, 6}, + {154, 6}, {0, 3}, }; -static arc arcs_67_4[1] = { - {75, 6}, +static arc arcs_66_4[1] = { + {74, 6}, }; -static arc arcs_67_5[2] = { - {156, 6}, +static arc arcs_66_5[2] = { + {154, 6}, {0, 5}, }; -static arc arcs_67_6[1] = { +static arc arcs_66_6[1] = { {0, 6}, }; -static state states_67[7] = { - {3, arcs_67_0}, - {1, arcs_67_1}, - {2, arcs_67_2}, - {3, arcs_67_3}, - {1, arcs_67_4}, - {2, arcs_67_5}, - {1, arcs_67_6}, +static state states_66[7] = { + {3, arcs_66_0}, + {1, arcs_66_1}, + {2, arcs_66_2}, + {3, arcs_66_3}, + {1, arcs_66_4}, + {2, arcs_66_5}, + {1, arcs_66_6}, }; -static arc arcs_68_0[1] = { +static arc arcs_67_0[1] = { {21, 1}, }; -static arc arcs_68_1[2] = { +static arc arcs_67_1[2] = { {26, 2}, {0, 1}, }; -static arc arcs_68_2[1] = { +static arc arcs_67_2[1] = { + {0, 2}, +}; +static state states_67[3] = { + {1, arcs_67_0}, + {2, arcs_67_1}, + {1, arcs_67_2}, +}; +static arc arcs_68_0[1] = { + {98, 1}, +}; +static arc arcs_68_1[2] = { + {27, 2}, + {0, 1}, +}; +static arc arcs_68_2[2] = { + {98, 1}, {0, 2}, }; static state states_68[3] = { {1, arcs_68_0}, {2, arcs_68_1}, - {1, arcs_68_2}, + {2, arcs_68_2}, }; static arc arcs_69_0[1] = { - {82, 1}, + {26, 1}, }; static arc arcs_69_1[2] = { {27, 2}, {0, 1}, }; static arc arcs_69_2[2] = { - {82, 1}, + {26, 1}, {0, 2}, }; static state states_69[3] = { @@ -1484,313 +1467,297 @@ static state states_69[3] = { static arc arcs_70_0[1] = { {26, 1}, }; -static arc arcs_70_1[2] = { - {27, 2}, - {0, 1}, -}; -static arc arcs_70_2[2] = { - {26, 1}, - {0, 2}, -}; -static state states_70[3] = { - {1, arcs_70_0}, - {2, arcs_70_1}, - {2, arcs_70_2}, -}; -static arc arcs_71_0[1] = { - {26, 1}, -}; -static arc arcs_71_1[3] = { +static arc arcs_70_1[3] = { {21, 2}, {27, 3}, {0, 1}, }; -static arc arcs_71_2[1] = { +static arc arcs_70_2[1] = { {26, 4}, }; -static arc arcs_71_3[2] = { +static arc arcs_70_3[2] = { {26, 5}, {0, 3}, }; -static arc arcs_71_4[2] = { +static arc arcs_70_4[2] = { {27, 6}, {0, 4}, }; -static arc arcs_71_5[2] = { +static arc arcs_70_5[2] = { {27, 3}, {0, 5}, }; -static arc arcs_71_6[2] = { +static arc arcs_70_6[2] = { {26, 7}, {0, 6}, }; -static arc arcs_71_7[1] = { +static arc arcs_70_7[1] = { {21, 2}, }; -static state states_71[8] = { - {1, arcs_71_0}, - {3, arcs_71_1}, - {1, arcs_71_2}, - {2, arcs_71_3}, - {2, arcs_71_4}, - {2, arcs_71_5}, - {2, arcs_71_6}, - {1, arcs_71_7}, +static state states_70[8] = { + {1, arcs_70_0}, + {3, arcs_70_1}, + {1, arcs_70_2}, + {2, arcs_70_3}, + {2, arcs_70_4}, + {2, arcs_70_5}, + {2, arcs_70_6}, + {1, arcs_70_7}, }; -static arc arcs_72_0[1] = { - {157, 1}, +static arc arcs_71_0[1] = { + {155, 1}, }; -static arc arcs_72_1[1] = { +static arc arcs_71_1[1] = { {19, 2}, }; -static arc arcs_72_2[2] = { +static arc arcs_71_2[2] = { {13, 3}, {21, 4}, }; -static arc arcs_72_3[2] = { +static arc arcs_71_3[2] = { {9, 5}, {15, 6}, }; -static arc arcs_72_4[1] = { +static arc arcs_71_4[1] = { {22, 7}, }; -static arc arcs_72_5[1] = { +static arc arcs_71_5[1] = { {15, 6}, }; -static arc arcs_72_6[1] = { +static arc arcs_71_6[1] = { {21, 4}, }; -static arc arcs_72_7[1] = { +static arc arcs_71_7[1] = { {0, 7}, }; -static state states_72[8] = { - {1, arcs_72_0}, - {1, arcs_72_1}, - {2, arcs_72_2}, - {2, arcs_72_3}, - {1, arcs_72_4}, - {1, arcs_72_5}, - {1, arcs_72_6}, - {1, arcs_72_7}, +static state states_71[8] = { + {1, arcs_71_0}, + {1, arcs_71_1}, + {2, arcs_71_2}, + {2, arcs_71_3}, + {1, arcs_71_4}, + {1, arcs_71_5}, + {1, arcs_71_6}, + {1, arcs_71_7}, }; -static arc arcs_73_0[3] = { - {158, 1}, +static arc arcs_72_0[3] = { + {156, 1}, {28, 2}, {29, 3}, }; -static arc arcs_73_1[2] = { +static arc arcs_72_1[2] = { {27, 4}, {0, 1}, }; -static arc arcs_73_2[1] = { +static arc arcs_72_2[1] = { {26, 5}, }; -static arc arcs_73_3[1] = { +static arc arcs_72_3[1] = { {26, 6}, }; -static arc arcs_73_4[4] = { - {158, 1}, +static arc arcs_72_4[4] = { + {156, 1}, {28, 2}, {29, 3}, {0, 4}, }; -static arc arcs_73_5[2] = { +static arc arcs_72_5[2] = { {27, 7}, {0, 5}, }; -static arc arcs_73_6[1] = { +static arc arcs_72_6[1] = { {0, 6}, }; -static arc arcs_73_7[1] = { +static arc arcs_72_7[1] = { {29, 3}, }; -static state states_73[8] = { - {3, arcs_73_0}, - {2, arcs_73_1}, - {1, arcs_73_2}, - {1, arcs_73_3}, - {4, arcs_73_4}, - {2, arcs_73_5}, - {1, arcs_73_6}, - {1, arcs_73_7}, +static state states_72[8] = { + {3, arcs_72_0}, + {2, arcs_72_1}, + {1, arcs_72_2}, + {1, arcs_72_3}, + {4, arcs_72_4}, + {2, arcs_72_5}, + {1, arcs_72_6}, + {1, arcs_72_7}, }; -static arc arcs_74_0[1] = { +static arc arcs_73_0[1] = { {26, 1}, }; -static arc arcs_74_1[3] = { - {153, 2}, +static arc arcs_73_1[3] = { + {151, 2}, {25, 3}, {0, 1}, }; -static arc arcs_74_2[1] = { +static arc arcs_73_2[1] = { {0, 2}, }; -static arc arcs_74_3[1] = { +static arc arcs_73_3[1] = { {26, 2}, }; -static state states_74[4] = { - {1, arcs_74_0}, - {3, arcs_74_1}, - {1, arcs_74_2}, - {1, arcs_74_3}, +static state states_73[4] = { + {1, arcs_73_0}, + {3, arcs_73_1}, + {1, arcs_73_2}, + {1, arcs_73_3}, }; -static arc arcs_75_0[2] = { - {152, 1}, - {160, 1}, +static arc arcs_74_0[2] = { + {150, 1}, + {158, 1}, }; -static arc arcs_75_1[1] = { +static arc arcs_74_1[1] = { {0, 1}, }; -static state states_75[2] = { - {2, arcs_75_0}, - {1, arcs_75_1}, +static state states_74[2] = { + {2, arcs_74_0}, + {1, arcs_74_1}, }; -static arc arcs_76_0[1] = { - {95, 1}, +static arc arcs_75_0[1] = { + {91, 1}, }; -static arc arcs_76_1[1] = { - {59, 2}, +static arc arcs_75_1[1] = { + {58, 2}, }; -static arc arcs_76_2[1] = { - {83, 3}, +static arc arcs_75_2[1] = { + {92, 3}, }; -static arc arcs_76_3[1] = { - {104, 4}, +static arc arcs_75_3[1] = { + {102, 4}, }; -static arc arcs_76_4[2] = { - {159, 5}, +static arc arcs_75_4[2] = { + {157, 5}, {0, 4}, }; -static arc arcs_76_5[1] = { +static arc arcs_75_5[1] = { {0, 5}, }; -static state states_76[6] = { - {1, arcs_76_0}, - {1, arcs_76_1}, - {1, arcs_76_2}, - {1, arcs_76_3}, - {2, arcs_76_4}, - {1, arcs_76_5}, +static state states_75[6] = { + {1, arcs_75_0}, + {1, arcs_75_1}, + {1, arcs_75_2}, + {1, arcs_75_3}, + {2, arcs_75_4}, + {1, arcs_75_5}, }; -static arc arcs_77_0[1] = { - {91, 1}, +static arc arcs_76_0[1] = { + {87, 1}, }; -static arc arcs_77_1[1] = { - {105, 2}, +static arc arcs_76_1[1] = { + {103, 2}, }; -static arc arcs_77_2[2] = { - {159, 3}, +static arc arcs_76_2[2] = { + {157, 3}, {0, 2}, }; -static arc arcs_77_3[1] = { +static arc arcs_76_3[1] = { {0, 3}, }; -static state states_77[4] = { - {1, arcs_77_0}, - {1, arcs_77_1}, - {2, arcs_77_2}, - {1, arcs_77_3}, +static state states_76[4] = { + {1, arcs_76_0}, + {1, arcs_76_1}, + {2, arcs_76_2}, + {1, arcs_76_3}, }; -static arc arcs_78_0[2] = { - {153, 1}, - {162, 1}, +static arc arcs_77_0[2] = { + {151, 1}, + {160, 1}, }; -static arc arcs_78_1[1] = { +static arc arcs_77_1[1] = { {0, 1}, }; -static state states_78[2] = { - {2, arcs_78_0}, - {1, arcs_78_1}, +static state states_77[2] = { + {2, arcs_77_0}, + {1, arcs_77_1}, }; -static arc arcs_79_0[1] = { - {95, 1}, +static arc arcs_78_0[1] = { + {91, 1}, }; -static arc arcs_79_1[1] = { - {59, 2}, +static arc arcs_78_1[1] = { + {58, 2}, }; -static arc arcs_79_2[1] = { - {83, 3}, +static arc arcs_78_2[1] = { + {92, 3}, }; -static arc arcs_79_3[1] = { - {106, 4}, +static arc arcs_78_3[1] = { + {104, 4}, }; -static arc arcs_79_4[2] = { - {161, 5}, +static arc arcs_78_4[2] = { + {159, 5}, {0, 4}, }; -static arc arcs_79_5[1] = { +static arc arcs_78_5[1] = { {0, 5}, }; -static state states_79[6] = { - {1, arcs_79_0}, - {1, arcs_79_1}, - {1, arcs_79_2}, - {1, arcs_79_3}, - {2, arcs_79_4}, - {1, arcs_79_5}, +static state states_78[6] = { + {1, arcs_78_0}, + {1, arcs_78_1}, + {1, arcs_78_2}, + {1, arcs_78_3}, + {2, arcs_78_4}, + {1, arcs_78_5}, }; -static arc arcs_80_0[1] = { - {91, 1}, +static arc arcs_79_0[1] = { + {87, 1}, }; -static arc arcs_80_1[1] = { - {105, 2}, +static arc arcs_79_1[1] = { + {103, 2}, }; -static arc arcs_80_2[2] = { - {161, 3}, +static arc arcs_79_2[2] = { + {159, 3}, {0, 2}, }; -static arc arcs_80_3[1] = { +static arc arcs_79_3[1] = { {0, 3}, }; -static state states_80[4] = { - {1, arcs_80_0}, - {1, arcs_80_1}, - {2, arcs_80_2}, - {1, arcs_80_3}, +static state states_79[4] = { + {1, arcs_79_0}, + {1, arcs_79_1}, + {2, arcs_79_2}, + {1, arcs_79_3}, }; -static arc arcs_81_0[1] = { +static arc arcs_80_0[1] = { {26, 1}, }; -static arc arcs_81_1[2] = { +static arc arcs_80_1[2] = { {27, 0}, {0, 1}, }; -static state states_81[2] = { - {1, arcs_81_0}, - {2, arcs_81_1}, +static state states_80[2] = { + {1, arcs_80_0}, + {2, arcs_80_1}, }; -static arc arcs_82_0[1] = { +static arc arcs_81_0[1] = { {19, 1}, }; -static arc arcs_82_1[1] = { +static arc arcs_81_1[1] = { {0, 1}, }; -static state states_82[2] = { - {1, arcs_82_0}, - {1, arcs_82_1}, +static state states_81[2] = { + {1, arcs_81_0}, + {1, arcs_81_1}, }; -static arc arcs_83_0[1] = { - {165, 1}, +static arc arcs_82_0[1] = { + {163, 1}, }; -static arc arcs_83_1[2] = { +static arc arcs_82_1[2] = { {9, 2}, {0, 1}, }; -static arc arcs_83_2[1] = { +static arc arcs_82_2[1] = { {0, 2}, }; -static state states_83[3] = { - {1, arcs_83_0}, - {2, arcs_83_1}, - {1, arcs_83_2}, +static state states_82[3] = { + {1, arcs_82_0}, + {2, arcs_82_1}, + {1, arcs_82_2}, }; -static dfa dfas[84] = { +static dfa dfas[83] = { {256, "single_input", 0, 3, states_0, - "\004\050\014\000\000\000\000\025\074\005\023\310\011\020\004\000\140\010\311\040\040"}, + "\004\050\014\000\000\000\200\012\236\202\201\054\001\004\001\000\030\102\062\010\010"}, {257, "file_input", 0, 2, states_1, - "\204\050\014\000\000\000\000\025\074\005\023\310\011\020\004\000\140\010\311\040\040"}, + "\204\050\014\000\000\000\200\012\236\202\201\054\001\004\001\000\030\102\062\010\010"}, {258, "eval_input", 0, 3, states_2, - "\000\040\010\000\000\000\000\000\000\000\000\000\000\020\004\000\140\010\311\000\000"}, + "\000\040\010\000\000\000\000\000\000\000\000\000\000\004\001\000\030\102\062\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"}, {260, "decorators", 0, 2, states_4, @@ -1806,39 +1773,39 @@ static dfa dfas[84] = { {265, "fplist", 0, 3, states_9, "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"}, {266, "stmt", 0, 2, states_10, - "\000\050\014\000\000\000\000\025\074\005\023\310\011\020\004\000\140\010\311\040\040"}, + "\000\050\014\000\000\000\200\012\236\202\201\054\001\004\001\000\030\102\062\010\010"}, {267, "simple_stmt", 0, 4, states_11, - "\000\040\010\000\000\000\000\025\074\005\023\000\000\020\004\000\140\010\311\000\040"}, + "\000\040\010\000\000\000\200\012\236\202\001\000\000\004\001\000\030\102\062\000\010"}, {268, "small_stmt", 0, 2, states_12, - "\000\040\010\000\000\000\000\025\074\005\023\000\000\020\004\000\140\010\311\000\040"}, + "\000\040\010\000\000\000\200\012\236\202\001\000\000\004\001\000\030\102\062\000\010"}, {269, "expr_stmt", 0, 6, states_13, - "\000\040\010\000\000\000\000\000\000\000\000\000\000\020\004\000\140\010\311\000\000"}, + "\000\040\010\000\000\000\000\000\000\000\000\000\000\004\001\000\030\102\062\000\000"}, {270, "augassign", 0, 2, states_14, - "\000\000\000\000\000\360\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"}, + "\000\000\000\000\000\370\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000"}, {271, "print_stmt", 0, 9, states_15, - "\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\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000"}, {272, "del_stmt", 0, 3, states_16, - "\000\000\000\000\000\000\000\004\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\000\000\000\000"}, {273, "pass_stmt", 0, 2, states_17, - "\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\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"}, {274, "flow_stmt", 0, 2, states_18, - "\000\000\000\000\000\000\000\000\074\000\000\000\000\000\000\000\000\000\000\000\040"}, + "\000\000\000\000\000\000\000\000\036\000\000\000\000\000\000\000\000\000\000\000\010"}, {275, "break_stmt", 0, 2, states_19, - "\000\000\000\000\000\000\000\000\004\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\000\000\000"}, {276, "continue_stmt", 0, 2, states_20, - "\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\004\000\000\000\000\000\000\000\000\000\000\000\000"}, {277, "return_stmt", 0, 3, 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\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000"}, {278, "yield_stmt", 0, 2, states_22, - "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\040"}, + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\010"}, {279, "raise_stmt", 0, 7, states_23, - "\000\000\000\000\000\000\000\000\040\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\000\000\000"}, {280, "import_stmt", 0, 2, states_24, - "\000\000\000\000\000\000\000\000\000\005\000\000\000\000\000\000\000\000\000\000\000"}, + "\000\000\000\000\000\000\000\000\200\002\000\000\000\000\000\000\000\000\000\000\000"}, {281, "import_name", 0, 3, states_25, - "\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\200\000\000\000\000\000\000\000\000\000\000\000\000"}, {282, "import_from", 0, 8, states_26, - "\000\000\000\000\000\000\000\000\000\004\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\000\000"}, {283, "import_as_name", 0, 4, states_27, "\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"}, {284, "dotted_as_name", 0, 4, states_28, @@ -1850,126 +1817,124 @@ static dfa dfas[84] = { {287, "dotted_name", 0, 2, states_31, "\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"}, {288, "global_stmt", 0, 3, states_32, + "\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000"}, + {289, "assert_stmt", 0, 5, states_33, "\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000"}, - {289, "exec_stmt", 0, 7, states_33, - "\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000"}, - {290, "assert_stmt", 0, 5, states_34, - "\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000"}, - {291, "compound_stmt", 0, 2, states_35, - "\000\010\004\000\000\000\000\000\000\000\000\310\011\000\000\000\000\000\000\040\000"}, - {292, "if_stmt", 0, 8, states_36, + {290, "compound_stmt", 0, 2, states_34, + "\000\010\004\000\000\000\000\000\000\000\200\054\001\000\000\000\000\000\000\010\000"}, + {291, "if_stmt", 0, 8, states_35, + "\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000"}, + {292, "while_stmt", 0, 8, states_36, + "\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000"}, + {293, "for_stmt", 0, 10, states_37, "\000\000\000\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\000"}, - {293, "while_stmt", 0, 8, states_37, - "\000\000\000\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000"}, - {294, "for_stmt", 0, 10, states_38, - "\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000"}, - {295, "try_stmt", 0, 13, states_39, + {294, "try_stmt", 0, 13, states_38, + "\000\000\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000"}, + {295, "with_stmt", 0, 6, states_39, "\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000"}, - {296, "with_stmt", 0, 6, states_40, + {296, "with_var", 0, 3, states_40, + "\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000"}, + {297, "except_clause", 0, 5, states_41, "\000\000\000\000\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000"}, - {297, "with_var", 0, 3, states_41, - "\000\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000"}, - {298, "except_clause", 0, 5, states_42, - "\000\000\000\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000"}, - {299, "suite", 0, 5, states_43, - "\004\040\010\000\000\000\000\025\074\005\023\000\000\020\004\000\140\010\311\000\040"}, - {300, "testlist_safe", 0, 5, states_44, - "\000\040\010\000\000\000\000\000\000\000\000\000\000\020\004\000\140\010\311\000\000"}, - {301, "old_test", 0, 2, states_45, - "\000\040\010\000\000\000\000\000\000\000\000\000\000\020\004\000\140\010\311\000\000"}, - {302, "old_lambdef", 0, 5, states_46, - "\000\000\000\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000"}, - {303, "test", 0, 6, states_47, - "\000\040\010\000\000\000\000\000\000\000\000\000\000\020\004\000\140\010\311\000\000"}, - {304, "or_test", 0, 2, states_48, - "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\004\000\140\010\311\000\000"}, - {305, "and_test", 0, 2, states_49, - "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\004\000\140\010\311\000\000"}, - {306, "not_test", 0, 3, states_50, - "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\004\000\140\010\311\000\000"}, - {307, "comparison", 0, 2, states_51, - "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\140\010\311\000\000"}, - {308, "comp_op", 0, 4, states_52, - "\000\000\000\000\000\000\000\000\000\000\010\000\000\000\344\017\000\000\000\000\000"}, - {309, "expr", 0, 2, states_53, - "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\140\010\311\000\000"}, - {310, "xor_expr", 0, 2, states_54, - "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\140\010\311\000\000"}, - {311, "and_expr", 0, 2, states_55, - "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\140\010\311\000\000"}, - {312, "shift_expr", 0, 2, states_56, - "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\140\010\311\000\000"}, - {313, "arith_expr", 0, 2, states_57, - "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\140\010\311\000\000"}, - {314, "term", 0, 2, states_58, - "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\140\010\311\000\000"}, - {315, "factor", 0, 3, states_59, - "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\140\010\311\000\000"}, - {316, "power", 0, 4, states_60, - "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\311\000\000"}, - {317, "atom", 0, 9, states_61, - "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\311\000\000"}, - {318, "listmaker", 0, 5, states_62, - "\000\040\010\000\000\000\000\000\000\000\000\000\000\020\004\000\140\010\311\000\000"}, - {319, "testlist_gexp", 0, 5, states_63, - "\000\040\010\000\000\000\000\000\000\000\000\000\000\020\004\000\140\010\311\000\000"}, - {320, "lambdef", 0, 5, states_64, - "\000\000\000\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000"}, - {321, "trailer", 0, 7, states_65, - "\000\040\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\001\000\000"}, - {322, "subscriptlist", 0, 3, states_66, - "\000\040\050\000\000\000\000\000\000\010\000\000\000\020\004\000\140\010\311\000\000"}, - {323, "subscript", 0, 7, states_67, - "\000\040\050\000\000\000\000\000\000\010\000\000\000\020\004\000\140\010\311\000\000"}, - {324, "sliceop", 0, 3, states_68, + {298, "suite", 0, 5, states_42, + "\004\040\010\000\000\000\200\012\236\202\001\000\000\004\001\000\030\102\062\000\010"}, + {299, "testlist_safe", 0, 5, states_43, + "\000\040\010\000\000\000\000\000\000\000\000\000\000\004\001\000\030\102\062\000\000"}, + {300, "old_test", 0, 2, states_44, + "\000\040\010\000\000\000\000\000\000\000\000\000\000\004\001\000\030\102\062\000\000"}, + {301, "old_lambdef", 0, 5, states_45, + "\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000"}, + {302, "test", 0, 6, states_46, + "\000\040\010\000\000\000\000\000\000\000\000\000\000\004\001\000\030\102\062\000\000"}, + {303, "or_test", 0, 2, states_47, + "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\001\000\030\102\062\000\000"}, + {304, "and_test", 0, 2, states_48, + "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\001\000\030\102\062\000\000"}, + {305, "not_test", 0, 3, states_49, + "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\001\000\030\102\062\000\000"}, + {306, "comparison", 0, 2, states_50, + "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\030\102\062\000\000"}, + {307, "comp_op", 0, 4, states_51, + "\000\000\000\000\000\000\000\000\000\000\000\020\000\000\371\003\000\000\000\000\000"}, + {308, "expr", 0, 2, states_52, + "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\030\102\062\000\000"}, + {309, "xor_expr", 0, 2, states_53, + "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\030\102\062\000\000"}, + {310, "and_expr", 0, 2, states_54, + "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\030\102\062\000\000"}, + {311, "shift_expr", 0, 2, states_55, + "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\030\102\062\000\000"}, + {312, "arith_expr", 0, 2, states_56, + "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\030\102\062\000\000"}, + {313, "term", 0, 2, states_57, + "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\030\102\062\000\000"}, + {314, "factor", 0, 3, states_58, + "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\030\102\062\000\000"}, + {315, "power", 0, 4, states_59, + "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\100\062\000\000"}, + {316, "atom", 0, 9, states_60, + "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\100\062\000\000"}, + {317, "listmaker", 0, 5, states_61, + "\000\040\010\000\000\000\000\000\000\000\000\000\000\004\001\000\030\102\062\000\000"}, + {318, "testlist_gexp", 0, 5, states_62, + "\000\040\010\000\000\000\000\000\000\000\000\000\000\004\001\000\030\102\062\000\000"}, + {319, "lambdef", 0, 5, states_63, + "\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000"}, + {320, "trailer", 0, 7, states_64, + "\000\040\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\100\000\000\000"}, + {321, "subscriptlist", 0, 3, states_65, + "\000\040\050\000\000\000\000\000\000\004\000\000\000\004\001\000\030\102\062\000\000"}, + {322, "subscript", 0, 7, states_66, + "\000\040\050\000\000\000\000\000\000\004\000\000\000\004\001\000\030\102\062\000\000"}, + {323, "sliceop", 0, 3, states_67, "\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"}, - {325, "exprlist", 0, 3, states_69, - "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\140\010\311\000\000"}, - {326, "testlist", 0, 3, states_70, - "\000\040\010\000\000\000\000\000\000\000\000\000\000\020\004\000\140\010\311\000\000"}, - {327, "dictsetmaker", 0, 8, states_71, - "\000\040\010\000\000\000\000\000\000\000\000\000\000\020\004\000\140\010\311\000\000"}, - {328, "classdef", 0, 8, states_72, - "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\040\000"}, - {329, "arglist", 0, 8, states_73, - "\000\040\010\060\000\000\000\000\000\000\000\000\000\020\004\000\140\010\311\000\000"}, - {330, "argument", 0, 4, states_74, - "\000\040\010\000\000\000\000\000\000\000\000\000\000\020\004\000\140\010\311\000\000"}, - {331, "list_iter", 0, 2, states_75, - "\000\000\000\000\000\000\000\000\000\000\000\210\000\000\000\000\000\000\000\000\000"}, - {332, "list_for", 0, 6, states_76, - "\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000"}, - {333, "list_if", 0, 4, states_77, + {324, "exprlist", 0, 3, states_68, + "\000\040\010\000\000\000\000\000\000\000\000\000\000\000\000\000\030\102\062\000\000"}, + {325, "testlist", 0, 3, states_69, + "\000\040\010\000\000\000\000\000\000\000\000\000\000\004\001\000\030\102\062\000\000"}, + {326, "dictsetmaker", 0, 8, states_70, + "\000\040\010\000\000\000\000\000\000\000\000\000\000\004\001\000\030\102\062\000\000"}, + {327, "classdef", 0, 8, states_71, + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\010\000"}, + {328, "arglist", 0, 8, states_72, + "\000\040\010\060\000\000\000\000\000\000\000\000\000\004\001\000\030\102\062\000\000"}, + {329, "argument", 0, 4, states_73, + "\000\040\010\000\000\000\000\000\000\000\000\000\000\004\001\000\030\102\062\000\000"}, + {330, "list_iter", 0, 2, states_74, + "\000\000\000\000\000\000\000\000\000\000\200\010\000\000\000\000\000\000\000\000\000"}, + {331, "list_for", 0, 6, states_75, "\000\000\000\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\000"}, - {334, "gen_iter", 0, 2, states_78, - "\000\000\000\000\000\000\000\000\000\000\000\210\000\000\000\000\000\000\000\000\000"}, - {335, "gen_for", 0, 6, states_79, - "\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000"}, - {336, "gen_if", 0, 4, states_80, + {332, "list_if", 0, 4, states_76, + "\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000"}, + {333, "gen_iter", 0, 2, states_77, + "\000\000\000\000\000\000\000\000\000\000\200\010\000\000\000\000\000\000\000\000\000"}, + {334, "gen_for", 0, 6, states_78, "\000\000\000\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\000"}, - {337, "testlist1", 0, 2, states_81, - "\000\040\010\000\000\000\000\000\000\000\000\000\000\020\004\000\140\010\311\000\000"}, - {338, "encoding_decl", 0, 2, states_82, + {335, "gen_if", 0, 4, states_79, + "\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000"}, + {336, "testlist1", 0, 2, states_80, + "\000\040\010\000\000\000\000\000\000\000\000\000\000\004\001\000\030\102\062\000\000"}, + {337, "encoding_decl", 0, 2, states_81, "\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\040"}, + {338, "yield_expr", 0, 3, states_82, + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\010"}, }; -static label labels[166] = { +static label labels[164] = { {0, "EMPTY"}, {256, 0}, {4, 0}, {267, 0}, - {291, 0}, + {290, 0}, {257, 0}, {266, 0}, {0, 0}, {258, 0}, - {326, 0}, + {325, 0}, {259, 0}, {50, 0}, {287, 0}, {7, 0}, - {329, 0}, + {328, 0}, {8, 0}, {260, 0}, {261, 0}, @@ -1977,11 +1942,11 @@ static label labels[166] = { {1, 0}, {262, 0}, {11, 0}, - {299, 0}, + {298, 0}, {263, 0}, {264, 0}, {22, 0}, - {303, 0}, + {302, 0}, {12, 0}, {16, 0}, {36, 0}, @@ -1996,9 +1961,8 @@ static label labels[166] = { {280, 0}, {288, 0}, {289, 0}, - {290, 0}, {270, 0}, - {339, 0}, + {338, 0}, {37, 0}, {38, 0}, {39, 0}, @@ -2014,7 +1978,7 @@ static label labels[166] = { {1, "print"}, {35, 0}, {1, "del"}, - {325, 0}, + {324, 0}, {1, "pass"}, {275, 0}, {276, 0}, @@ -2036,42 +2000,41 @@ static label labels[166] = { {1, "as"}, {284, 0}, {1, "global"}, - {1, "exec"}, - {309, 0}, - {1, "in"}, {1, "assert"}, + {291, 0}, {292, 0}, {293, 0}, {294, 0}, {295, 0}, - {296, 0}, - {328, 0}, + {327, 0}, {1, "if"}, {1, "elif"}, {1, "else"}, {1, "while"}, {1, "for"}, + {1, "in"}, {1, "try"}, - {298, 0}, + {297, 0}, {1, "finally"}, {1, "with"}, - {297, 0}, + {296, 0}, + {308, 0}, {1, "except"}, {5, 0}, {6, 0}, + {299, 0}, {300, 0}, + {303, 0}, {301, 0}, - {304, 0}, - {302, 0}, {1, "lambda"}, - {320, 0}, - {305, 0}, + {319, 0}, + {304, 0}, {1, "or"}, - {306, 0}, + {305, 0}, {1, "and"}, {1, "not"}, + {306, 0}, {307, 0}, - {308, 0}, {20, 0}, {21, 0}, {28, 0}, @@ -2079,52 +2042,52 @@ static label labels[166] = { {30, 0}, {29, 0}, {1, "is"}, - {310, 0}, + {309, 0}, {18, 0}, - {311, 0}, + {310, 0}, {33, 0}, - {312, 0}, + {311, 0}, {19, 0}, - {313, 0}, + {312, 0}, {34, 0}, - {314, 0}, + {313, 0}, {14, 0}, {15, 0}, - {315, 0}, + {314, 0}, {17, 0}, {24, 0}, {48, 0}, {32, 0}, + {315, 0}, {316, 0}, - {317, 0}, - {321, 0}, - {319, 0}, - {9, 0}, + {320, 0}, {318, 0}, + {9, 0}, + {317, 0}, {10, 0}, {26, 0}, - {327, 0}, + {326, 0}, {27, 0}, {2, 0}, {3, 0}, - {332, 0}, - {335, 0}, + {331, 0}, + {334, 0}, + {321, 0}, {322, 0}, {323, 0}, - {324, 0}, {1, "class"}, + {329, 0}, {330, 0}, - {331, 0}, + {332, 0}, {333, 0}, - {334, 0}, + {335, 0}, {336, 0}, {337, 0}, - {338, 0}, {1, "yield"}, }; grammar _PyParser_Grammar = { - 84, + 83, dfas, - {166, labels}, + {164, labels}, 256 }; diff --git a/Python/symtable.c b/Python/symtable.c index 64eeb53..81020a9 100644 --- a/Python/symtable.c +++ b/Python/symtable.c @@ -480,8 +480,7 @@ check_unoptimized(const PySTEntryObject* ste) { "is a nested function"); switch (ste->ste_unoptimized) { - case OPT_TOPLEVEL: /* exec / import * at top-level is fine */ - case OPT_EXEC: /* qualified exec is fine */ + case OPT_TOPLEVEL: /* import * at top-level is fine */ return 1; case OPT_IMPORT_STAR: PyOS_snprintf(buf, sizeof(buf), @@ -489,18 +488,6 @@ check_unoptimized(const PySTEntryObject* ste) { "because it is %s", PyString_AS_STRING(ste->ste_name), trailer); break; - case OPT_BARE_EXEC: - PyOS_snprintf(buf, sizeof(buf), - "unqualified exec is not allowed in function " - "'%.100s' it %s", - PyString_AS_STRING(ste->ste_name), trailer); - break; - default: - PyOS_snprintf(buf, sizeof(buf), - "function '%.100s' uses import * and bare exec, " - "which are illegal because it %s", - PyString_AS_STRING(ste->ste_name), trailer); - break; } PyErr_SetString(PyExc_SyntaxError, buf); @@ -1045,19 +1032,6 @@ symtable_visit_stmt(struct symtable *st, stmt_ty s) if (st->st_cur->ste_unoptimized && !st->st_cur->ste_opt_lineno) st->st_cur->ste_opt_lineno = s->lineno; break; - case Exec_kind: - VISIT(st, expr, s->v.Exec.body); - if (!st->st_cur->ste_opt_lineno) - st->st_cur->ste_opt_lineno = s->lineno; - if (s->v.Exec.globals) { - st->st_cur->ste_unoptimized |= OPT_EXEC; - VISIT(st, expr, s->v.Exec.globals); - if (s->v.Exec.locals) - VISIT(st, expr, s->v.Exec.locals); - } else { - st->st_cur->ste_unoptimized |= OPT_BARE_EXEC; - } - break; case Global_kind: { int i; asdl_seq *seq = s->v.Global.names; |