summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2006-09-06 06:51:57 (GMT)
committerGeorg Brandl <georg@python.org>2006-09-06 06:51:57 (GMT)
commit7cae87ca7b0a3a7ce497cbd335c8ec82fe680476 (patch)
tree612cc46e728bef49b19f3d4bc26fa4951b2c1c83 /Python
parent4e472e05bdddde72d91d6f25d6e048371cf3c9be (diff)
downloadcpython-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.c52
-rw-r--r--Python/ast.c36
-rw-r--r--Python/bltinmodule.c111
-rw-r--r--Python/ceval.c117
-rw-r--r--Python/compile.c17
-rw-r--r--Python/graminit.c1559
-rw-r--r--Python/symtable.c28
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;