]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
PEP 214, Extended print Statement, has been accepted by the BDFL.
authorBarry Warsaw <barry@python.org>
Mon, 21 Aug 2000 15:44:01 +0000 (15:44 +0000)
committerBarry Warsaw <barry@python.org>
Mon, 21 Aug 2000 15:44:01 +0000 (15:44 +0000)
eval_code2(): Implement new bytecodes PRINT_ITEM_TO and
PRINT_NEWLINE_TO, as per accepted SF patch #100970.

Also update graminit.c based on related Grammar/Grammar changes.

Python/ceval.c
Python/graminit.c

index 9167abee05de99c795b13776c8f96f7dc3caca9a..23c477b4875488893c787517091a247c9d4e41b9 100644 (file)
@@ -326,6 +326,7 @@ eval_code2(PyCodeObject *co, PyObject *globals, PyObject *locals,
        register PyObject *w;
        register PyObject *u;
        register PyObject *t;
+       register PyObject *stream = NULL;    /* for PRINT opcodes */
        register PyFrameObject *f; /* Current frame */
        register PyObject **fastlocals;
        PyObject *retval = NULL;        /* Return value */
@@ -635,7 +636,6 @@ eval_code2(PyCodeObject *co, PyObject *globals, PyObject *locals,
                        }
                }
 #endif
-
                /* Main switch on opcode */
                
                switch (opcode) {
@@ -975,7 +975,7 @@ eval_code2(PyCodeObject *co, PyObject *globals, PyObject *locals,
                        Py_DECREF(w);
                        if (err == 0) continue;
                        break;
-               
+
                case PRINT_EXPR:
                        v = POP();
                        /* Print value except if None */
@@ -1008,15 +1008,21 @@ eval_code2(PyCodeObject *co, PyObject *globals, PyObject *locals,
                        Py_DECREF(v);
                        break;
                
+               case PRINT_ITEM_TO:
+                       w = stream = POP();
+                       /* fall through to PRINT_ITEM */
+
                case PRINT_ITEM:
                        v = POP();
-                       w = PySys_GetObject("stdout");
-                       if (w == NULL) {
-                               PyErr_SetString(PyExc_RuntimeError,
-                                               "lost sys.stdout");
-                               err = -1;
+                       if (stream == NULL) {
+                               w = PySys_GetObject("stdout");
+                               if (w == NULL) {
+                                       PyErr_SetString(PyExc_RuntimeError,
+                                                       "lost sys.stdout");
+                                       err = -1;
+                               }
                        }
-                       else if (PyFile_SoftSpace(w, 1))
+                       if (w != NULL && PyFile_SoftSpace(w, 1))
                                err = PyFile_WriteString(" ", w);
                        if (err == 0)
                                err = PyFile_WriteObject(v, w, Py_PRINT_RAW);
@@ -1030,19 +1036,30 @@ eval_code2(PyCodeObject *co, PyObject *globals, PyObject *locals,
                                        PyFile_SoftSpace(w, 0);
                        }
                        Py_DECREF(v);
-                       if (err == 0) continue;
+                       Py_XDECREF(stream);
+                       stream = NULL;
+                       if (err == 0)
+                               continue;
                        break;
                
+               case PRINT_NEWLINE_TO:
+                       w = stream = POP();
+                       /* fall through to PRINT_NEWLINE */
+
                case PRINT_NEWLINE:
-                       x = PySys_GetObject("stdout");
-                       if (x == NULL)
-                               PyErr_SetString(PyExc_RuntimeError,
-                                               "lost sys.stdout");
-                       else {
-                               err = PyFile_WriteString("\n", x);
+                       if (stream == NULL) {
+                               w = PySys_GetObject("stdout");
+                               if (w == NULL)
+                                       PyErr_SetString(PyExc_RuntimeError,
+                                                       "lost sys.stdout");
+                       }
+                       if (w != NULL) {
+                               err = PyFile_WriteString("\n", w);
                                if (err == 0)
-                                       PyFile_SoftSpace(x, 0);
+                                       PyFile_SoftSpace(w, 0);
                        }
+                       Py_XDECREF(stream);
+                       stream = NULL;
                        break;
                
                case BREAK_LOOP:
index d5cc2a0ecafe12791ecb768b7e2dc0f0ee60abb7..a62b62e32ef42533a5f8554c71b15b8d4695cd78 100644 (file)
@@ -237,24 +237,53 @@ static state states_11[2] = {
 static arc arcs_12_0[1] = {
        {37, 1},
 };
-static arc arcs_12_1[2] = {
+static arc arcs_12_1[3] = {
        {21, 2},
+       {38, 3},
        {0, 1},
 };
 static arc arcs_12_2[2] = {
-       {22, 1},
+       {22, 4},
        {0, 2},
 };
-static state states_12[3] = {
+static arc arcs_12_3[1] = {
+       {21, 5},
+};
+static arc arcs_12_4[2] = {
+       {21, 2},
+       {0, 4},
+};
+static arc arcs_12_5[2] = {
+       {22, 6},
+       {0, 5},
+};
+static arc arcs_12_6[1] = {
+       {21, 7},
+};
+static arc arcs_12_7[2] = {
+       {22, 8},
+       {0, 7},
+};
+static arc arcs_12_8[2] = {
+       {21, 7},
+       {0, 8},
+};
+static state states_12[9] = {
        {1, arcs_12_0},
-       {2, arcs_12_1},
+       {3, arcs_12_1},
        {2, arcs_12_2},
+       {1, arcs_12_3},
+       {2, arcs_12_4},
+       {2, arcs_12_5},
+       {1, arcs_12_6},
+       {2, arcs_12_7},
+       {2, arcs_12_8},
 };
 static arc arcs_13_0[1] = {
-       {38, 1},
+       {39, 1},
 };
 static arc arcs_13_1[1] = {
-       {39, 2},
+       {40, 2},
 };
 static arc arcs_13_2[1] = {
        {0, 2},
@@ -265,7 +294,7 @@ static state states_13[3] = {
        {1, arcs_13_2},
 };
 static arc arcs_14_0[1] = {
-       {40, 1},
+       {41, 1},
 };
 static arc arcs_14_1[1] = {
        {0, 1},
@@ -275,10 +304,10 @@ static state states_14[2] = {
        {1, arcs_14_1},
 };
 static arc arcs_15_0[4] = {
-       {41, 1},
        {42, 1},
        {43, 1},
        {44, 1},
+       {45, 1},
 };
 static arc arcs_15_1[1] = {
        {0, 1},
@@ -288,7 +317,7 @@ static state states_15[2] = {
        {1, arcs_15_1},
 };
 static arc arcs_16_0[1] = {
-       {45, 1},
+       {46, 1},
 };
 static arc arcs_16_1[1] = {
        {0, 1},
@@ -298,7 +327,7 @@ static state states_16[2] = {
        {1, arcs_16_1},
 };
 static arc arcs_17_0[1] = {
-       {46, 1},
+       {47, 1},
 };
 static arc arcs_17_1[1] = {
        {0, 1},
@@ -308,7 +337,7 @@ static state states_17[2] = {
        {1, arcs_17_1},
 };
 static arc arcs_18_0[1] = {
-       {47, 1},
+       {48, 1},
 };
 static arc arcs_18_1[2] = {
        {9, 2},
@@ -323,7 +352,7 @@ static state states_18[3] = {
        {1, arcs_18_2},
 };
 static arc arcs_19_0[1] = {
-       {48, 1},
+       {49, 1},
 };
 static arc arcs_19_1[2] = {
        {21, 2},
@@ -356,25 +385,25 @@ static state states_19[7] = {
        {1, arcs_19_6},
 };
 static arc arcs_20_0[2] = {
-       {49, 1},
-       {51, 2},
+       {50, 1},
+       {52, 2},
 };
 static arc arcs_20_1[1] = {
-       {50, 3},
+       {51, 3},
 };
 static arc arcs_20_2[1] = {
-       {52, 4},
+       {53, 4},
 };
 static arc arcs_20_3[2] = {
        {22, 1},
        {0, 3},
 };
 static arc arcs_20_4[1] = {
-       {49, 5},
+       {50, 5},
 };
 static arc arcs_20_5[2] = {
        {23, 6},
-       {53, 7},
+       {54, 7},
 };
 static arc arcs_20_6[1] = {
        {0, 6},
@@ -384,7 +413,7 @@ static arc arcs_20_7[2] = {
        {0, 7},
 };
 static arc arcs_20_8[1] = {
-       {53, 7},
+       {54, 7},
 };
 static state states_20[9] = {
        {2, arcs_20_0},
@@ -417,7 +446,7 @@ static state states_21[4] = {
        {1, arcs_21_3},
 };
 static arc arcs_22_0[1] = {
-       {52, 1},
+       {53, 1},
 };
 static arc arcs_22_1[2] = {
        {12, 2},
@@ -439,7 +468,7 @@ static arc arcs_23_0[1] = {
        {12, 1},
 };
 static arc arcs_23_1[2] = {
-       {54, 0},
+       {55, 0},
        {0, 1},
 };
 static state states_23[2] = {
@@ -447,7 +476,7 @@ static state states_23[2] = {
        {2, arcs_23_1},
 };
 static arc arcs_24_0[1] = {
-       {55, 1},
+       {56, 1},
 };
 static arc arcs_24_1[1] = {
        {12, 2},
@@ -462,13 +491,13 @@ static state states_24[3] = {
        {2, arcs_24_2},
 };
 static arc arcs_25_0[1] = {
-       {56, 1},
+       {57, 1},
 };
 static arc arcs_25_1[1] = {
-       {57, 2},
+       {58, 2},
 };
 static arc arcs_25_2[2] = {
-       {58, 3},
+       {59, 3},
        {0, 2},
 };
 static arc arcs_25_3[1] = {
@@ -494,7 +523,7 @@ static state states_25[7] = {
        {1, arcs_25_6},
 };
 static arc arcs_26_0[1] = {
-       {59, 1},
+       {60, 1},
 };
 static arc arcs_26_1[1] = {
        {21, 2},
@@ -517,12 +546,12 @@ static state states_26[5] = {
        {1, arcs_26_4},
 };
 static arc arcs_27_0[6] = {
-       {60, 1},
        {61, 1},
        {62, 1},
        {63, 1},
-       {10, 1},
        {64, 1},
+       {10, 1},
+       {65, 1},
 };
 static arc arcs_27_1[1] = {
        {0, 1},
@@ -532,7 +561,7 @@ static state states_27[2] = {
        {1, arcs_27_1},
 };
 static arc arcs_28_0[1] = {
-       {65, 1},
+       {66, 1},
 };
 static arc arcs_28_1[1] = {
        {21, 2},
@@ -544,8 +573,8 @@ static arc arcs_28_3[1] = {
        {15, 4},
 };
 static arc arcs_28_4[3] = {
-       {66, 1},
-       {67, 5},
+       {67, 1},
+       {68, 5},
        {0, 4},
 };
 static arc arcs_28_5[1] = {
@@ -568,7 +597,7 @@ static state states_28[8] = {
        {1, arcs_28_7},
 };
 static arc arcs_29_0[1] = {
-       {68, 1},
+       {69, 1},
 };
 static arc arcs_29_1[1] = {
        {21, 2},
@@ -580,7 +609,7 @@ static arc arcs_29_3[1] = {
        {15, 4},
 };
 static arc arcs_29_4[2] = {
-       {67, 5},
+       {68, 5},
        {0, 4},
 };
 static arc arcs_29_5[1] = {
@@ -603,13 +632,13 @@ static state states_29[8] = {
        {1, arcs_29_7},
 };
 static arc arcs_30_0[1] = {
-       {69, 1},
+       {70, 1},
 };
 static arc arcs_30_1[1] = {
-       {39, 2},
+       {40, 2},
 };
 static arc arcs_30_2[1] = {
-       {58, 3},
+       {59, 3},
 };
 static arc arcs_30_3[1] = {
        {9, 4},
@@ -621,7 +650,7 @@ static arc arcs_30_5[1] = {
        {15, 6},
 };
 static arc arcs_30_6[2] = {
-       {67, 7},
+       {68, 7},
        {0, 6},
 };
 static arc arcs_30_7[1] = {
@@ -646,7 +675,7 @@ static state states_30[10] = {
        {1, arcs_30_9},
 };
 static arc arcs_31_0[1] = {
-       {70, 1},
+       {71, 1},
 };
 static arc arcs_31_1[1] = {
        {14, 2},
@@ -655,8 +684,8 @@ static arc arcs_31_2[1] = {
        {15, 3},
 };
 static arc arcs_31_3[2] = {
-       {71, 4},
-       {72, 5},
+       {72, 4},
+       {73, 5},
 };
 static arc arcs_31_4[1] = {
        {14, 6},
@@ -671,8 +700,8 @@ static arc arcs_31_7[1] = {
        {15, 9},
 };
 static arc arcs_31_8[3] = {
-       {71, 4},
-       {67, 5},
+       {72, 4},
+       {68, 5},
        {0, 8},
 };
 static arc arcs_31_9[1] = {
@@ -691,7 +720,7 @@ static state states_31[10] = {
        {1, arcs_31_9},
 };
 static arc arcs_32_0[1] = {
-       {73, 1},
+       {74, 1},
 };
 static arc arcs_32_1[2] = {
        {21, 2},
@@ -722,14 +751,14 @@ static arc arcs_33_1[1] = {
        {0, 1},
 };
 static arc arcs_33_2[1] = {
-       {74, 3},
+       {75, 3},
 };
 static arc arcs_33_3[1] = {
        {6, 4},
 };
 static arc arcs_33_4[2] = {
        {6, 4},
-       {75, 1},
+       {76, 1},
 };
 static state states_33[5] = {
        {2, arcs_33_0},
@@ -739,18 +768,18 @@ static state states_33[5] = {
        {2, arcs_33_4},
 };
 static arc arcs_34_0[2] = {
-       {76, 1},
-       {78, 2},
+       {77, 1},
+       {79, 2},
 };
 static arc arcs_34_1[2] = {
-       {77, 3},
+       {78, 3},
        {0, 1},
 };
 static arc arcs_34_2[1] = {
        {0, 2},
 };
 static arc arcs_34_3[1] = {
-       {76, 1},
+       {77, 1},
 };
 static state states_34[4] = {
        {2, arcs_34_0},
@@ -759,10 +788,10 @@ static state states_34[4] = {
        {1, arcs_34_3},
 };
 static arc arcs_35_0[1] = {
-       {79, 1},
+       {80, 1},
 };
 static arc arcs_35_1[2] = {
-       {80, 0},
+       {81, 0},
        {0, 1},
 };
 static state states_35[2] = {
@@ -770,11 +799,11 @@ static state states_35[2] = {
        {2, arcs_35_1},
 };
 static arc arcs_36_0[2] = {
-       {81, 1},
-       {82, 2},
+       {82, 1},
+       {83, 2},
 };
 static arc arcs_36_1[1] = {
-       {79, 2},
+       {80, 2},
 };
 static arc arcs_36_2[1] = {
        {0, 2},
@@ -785,10 +814,10 @@ static state states_36[3] = {
        {1, arcs_36_2},
 };
 static arc arcs_37_0[1] = {
-       {57, 1},
+       {58, 1},
 };
 static arc arcs_37_1[2] = {
-       {83, 0},
+       {84, 0},
        {0, 1},
 };
 static state states_37[2] = {
@@ -796,25 +825,25 @@ static state states_37[2] = {
        {2, arcs_37_1},
 };
 static arc arcs_38_0[10] = {
-       {84, 1},
        {85, 1},
        {86, 1},
        {87, 1},
        {88, 1},
        {89, 1},
        {90, 1},
-       {58, 1},
-       {81, 2},
-       {91, 3},
+       {91, 1},
+       {59, 1},
+       {82, 2},
+       {92, 3},
 };
 static arc arcs_38_1[1] = {
        {0, 1},
 };
 static arc arcs_38_2[1] = {
-       {58, 1},
+       {59, 1},
 };
 static arc arcs_38_3[2] = {
-       {81, 1},
+       {82, 1},
        {0, 3},
 };
 static state states_38[4] = {
@@ -824,10 +853,10 @@ static state states_38[4] = {
        {2, arcs_38_3},
 };
 static arc arcs_39_0[1] = {
-       {92, 1},
+       {93, 1},
 };
 static arc arcs_39_1[2] = {
-       {93, 0},
+       {94, 0},
        {0, 1},
 };
 static state states_39[2] = {
@@ -835,10 +864,10 @@ static state states_39[2] = {
        {2, arcs_39_1},
 };
 static arc arcs_40_0[1] = {
-       {94, 1},
+       {95, 1},
 };
 static arc arcs_40_1[2] = {
-       {95, 0},
+       {96, 0},
        {0, 1},
 };
 static state states_40[2] = {
@@ -846,10 +875,10 @@ static state states_40[2] = {
        {2, arcs_40_1},
 };
 static arc arcs_41_0[1] = {
-       {96, 1},
+       {97, 1},
 };
 static arc arcs_41_1[2] = {
-       {97, 0},
+       {98, 0},
        {0, 1},
 };
 static state states_41[2] = {
@@ -857,11 +886,11 @@ static state states_41[2] = {
        {2, arcs_41_1},
 };
 static arc arcs_42_0[1] = {
-       {98, 1},
+       {99, 1},
 };
 static arc arcs_42_1[3] = {
-       {99, 0},
        {100, 0},
+       {38, 0},
        {0, 1},
 };
 static state states_42[2] = {
@@ -1039,7 +1068,7 @@ static state states_49[5] = {
 static arc arcs_50_0[3] = {
        {16, 1},
        {111, 2},
-       {54, 3},
+       {55, 3},
 };
 static arc arcs_50_1[2] = {
        {122, 4},
@@ -1086,12 +1115,12 @@ static state states_51[3] = {
        {2, arcs_51_2},
 };
 static arc arcs_52_0[3] = {
-       {54, 1},
+       {55, 1},
        {21, 2},
        {14, 3},
 };
 static arc arcs_52_1[1] = {
-       {54, 4},
+       {55, 4},
 };
 static arc arcs_52_2[2] = {
        {14, 3},
@@ -1103,7 +1132,7 @@ static arc arcs_52_3[3] = {
        {0, 3},
 };
 static arc arcs_52_4[1] = {
-       {54, 6},
+       {55, 6},
 };
 static arc arcs_52_5[2] = {
        {125, 6},
@@ -1137,14 +1166,14 @@ static state states_53[3] = {
        {1, arcs_53_2},
 };
 static arc arcs_54_0[1] = {
-       {57, 1},
+       {58, 1},
 };
 static arc arcs_54_1[2] = {
        {22, 2},
        {0, 1},
 };
 static arc arcs_54_2[2] = {
-       {57, 1},
+       {58, 1},
        {0, 2},
 };
 static state states_54[3] = {
@@ -1299,13 +1328,13 @@ static state states_60[2] = {
        {1, arcs_60_1},
 };
 static arc arcs_61_0[1] = {
-       {69, 1},
+       {70, 1},
 };
 static arc arcs_61_1[1] = {
-       {39, 2},
+       {40, 2},
 };
 static arc arcs_61_2[1] = {
-       {58, 3},
+       {59, 3},
 };
 static arc arcs_61_3[1] = {
        {9, 4},
@@ -1326,7 +1355,7 @@ static state states_61[6] = {
        {1, arcs_61_5},
 };
 static arc arcs_62_0[1] = {
-       {65, 1},
+       {66, 1},
 };
 static arc arcs_62_1[1] = {
        {21, 2},
@@ -1346,11 +1375,11 @@ static state states_62[4] = {
 };
 static dfa dfas[63] = {
        {256, "single_input", 0, 3, states_0,
-        "\004\030\001\000\140\341\213\011\162\000\002\000\300\210\344\102\000"},
+        "\004\030\001\000\240\302\027\023\344\000\004\000\300\210\344\102\000"},
        {257, "file_input", 0, 2, states_1,
-        "\204\030\001\000\140\341\213\011\162\000\002\000\300\210\344\102\000"},
+        "\204\030\001\000\240\302\027\023\344\000\004\000\300\210\344\102\000"},
        {258, "eval_input", 0, 3, states_2,
-        "\000\020\001\000\000\000\000\000\000\000\002\000\300\210\344\002\000"},
+        "\000\020\001\000\000\000\000\000\000\000\004\000\300\210\344\002\000"},
        {259, "funcdef", 0, 6, states_3,
         "\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
        {260, "parameters", 0, 4, states_4,
@@ -1362,31 +1391,31 @@ static dfa dfas[63] = {
        {263, "fplist", 0, 3, states_7,
         "\000\020\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
        {264, "stmt", 0, 2, states_8,
-        "\000\030\001\000\140\341\213\011\162\000\002\000\300\210\344\102\000"},
+        "\000\030\001\000\240\302\027\023\344\000\004\000\300\210\344\102\000"},
        {265, "simple_stmt", 0, 4, states_9,
-        "\000\020\001\000\140\341\213\011\000\000\002\000\300\210\344\002\000"},
+        "\000\020\001\000\240\302\027\023\000\000\004\000\300\210\344\002\000"},
        {266, "small_stmt", 0, 2, states_10,
-        "\000\020\001\000\140\341\213\011\000\000\002\000\300\210\344\002\000"},
+        "\000\020\001\000\240\302\027\023\000\000\004\000\300\210\344\002\000"},
        {267, "expr_stmt", 0, 2, states_11,
-        "\000\020\001\000\000\000\000\000\000\000\002\000\300\210\344\002\000"},
-       {268, "print_stmt", 0, 3, states_12,
+        "\000\020\001\000\000\000\000\000\000\000\004\000\300\210\344\002\000"},
+       {268, "print_stmt", 0, 9, states_12,
         "\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000"},
        {269, "del_stmt", 0, 3, states_13,
-        "\000\000\000\000\100\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"},
        {270, "pass_stmt", 0, 2, states_14,
-        "\000\000\000\000\000\001\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"},
        {271, "flow_stmt", 0, 2, states_15,
-        "\000\000\000\000\000\340\001\000\000\000\000\000\000\000\000\000\000"},
+        "\000\000\000\000\000\300\003\000\000\000\000\000\000\000\000\000\000"},
        {272, "break_stmt", 0, 2, states_16,
-        "\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000"},
-       {273, "continue_stmt", 0, 2, states_17,
         "\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000"},
-       {274, "return_stmt", 0, 3, states_18,
+       {273, "continue_stmt", 0, 2, states_17,
         "\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000"},
-       {275, "raise_stmt", 0, 7, states_19,
+       {274, "return_stmt", 0, 3, states_18,
         "\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000"},
+       {275, "raise_stmt", 0, 7, states_19,
+        "\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000"},
        {276, "import_stmt", 0, 9, states_20,
-        "\000\000\000\000\000\000\012\000\000\000\000\000\000\000\000\000\000"},
+        "\000\000\000\000\000\000\024\000\000\000\000\000\000\000\000\000\000"},
        {277, "import_as_name", 0, 4, states_21,
         "\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
        {278, "dotted_as_name", 0, 4, states_22,
@@ -1394,35 +1423,35 @@ static dfa dfas[63] = {
        {279, "dotted_name", 0, 2, states_23,
         "\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
        {280, "global_stmt", 0, 3, states_24,
-        "\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000"},
-       {281, "exec_stmt", 0, 7, states_25,
         "\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000"},
+       {281, "exec_stmt", 0, 7, states_25,
+        "\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000"},
        {282, "assert_stmt", 0, 5, states_26,
-        "\000\000\000\000\000\000\000\010\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"},
        {283, "compound_stmt", 0, 2, states_27,
-        "\000\010\000\000\000\000\000\000\162\000\000\000\000\000\000\100\000"},
+        "\000\010\000\000\000\000\000\000\344\000\000\000\000\000\000\100\000"},
        {284, "if_stmt", 0, 8, states_28,
-        "\000\000\000\000\000\000\000\000\002\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"},
        {285, "while_stmt", 0, 8, states_29,
-        "\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000"},
-       {286, "for_stmt", 0, 10, states_30,
         "\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000"},
-       {287, "try_stmt", 0, 10, states_31,
+       {286, "for_stmt", 0, 10, states_30,
         "\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000"},
+       {287, "try_stmt", 0, 10, states_31,
+        "\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000"},
        {288, "except_clause", 0, 5, states_32,
-        "\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000"},
+        "\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000"},
        {289, "suite", 0, 5, states_33,
-        "\004\020\001\000\140\341\213\011\000\000\002\000\300\210\344\002\000"},
+        "\004\020\001\000\240\302\027\023\000\000\004\000\300\210\344\002\000"},
        {290, "test", 0, 4, states_34,
-        "\000\020\001\000\000\000\000\000\000\000\002\000\300\210\344\002\000"},
+        "\000\020\001\000\000\000\000\000\000\000\004\000\300\210\344\002\000"},
        {291, "and_test", 0, 2, states_35,
-        "\000\020\001\000\000\000\000\000\000\000\002\000\300\210\344\000\000"},
+        "\000\020\001\000\000\000\000\000\000\000\004\000\300\210\344\000\000"},
        {292, "not_test", 0, 3, states_36,
-        "\000\020\001\000\000\000\000\000\000\000\002\000\300\210\344\000\000"},
+        "\000\020\001\000\000\000\000\000\000\000\004\000\300\210\344\000\000"},
        {293, "comparison", 0, 2, states_37,
         "\000\020\001\000\000\000\000\000\000\000\000\000\300\210\344\000\000"},
        {294, "comp_op", 0, 4, states_38,
-        "\000\000\000\000\000\000\000\004\000\000\362\017\000\000\000\000\000"},
+        "\000\000\000\000\000\000\000\010\000\000\344\037\000\000\000\000\000"},
        {295, "expr", 0, 2, states_39,
         "\000\020\001\000\000\000\000\000\000\000\000\000\300\210\344\000\000"},
        {296, "xor_expr", 0, 2, states_40,
@@ -1442,35 +1471,35 @@ static dfa dfas[63] = {
        {303, "atom", 0, 11, states_47,
         "\000\020\001\000\000\000\000\000\000\000\000\000\000\200\344\000\000"},
        {304, "listmaker", 0, 5, states_48,
-        "\000\020\001\000\000\000\000\000\000\000\002\000\300\210\344\002\000"},
+        "\000\020\001\000\000\000\000\000\000\000\004\000\300\210\344\002\000"},
        {305, "lambdef", 0, 5, states_49,
         "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000"},
        {306, "trailer", 0, 7, states_50,
-        "\000\000\001\000\000\000\100\000\000\000\000\000\000\200\000\000\000"},
+        "\000\000\001\000\000\000\200\000\000\000\000\000\000\200\000\000\000"},
        {307, "subscriptlist", 0, 3, states_51,
-        "\000\120\001\000\000\000\100\000\000\000\002\000\300\210\344\002\000"},
+        "\000\120\001\000\000\000\200\000\000\000\004\000\300\210\344\002\000"},
        {308, "subscript", 0, 7, states_52,
-        "\000\120\001\000\000\000\100\000\000\000\002\000\300\210\344\002\000"},
+        "\000\120\001\000\000\000\200\000\000\000\004\000\300\210\344\002\000"},
        {309, "sliceop", 0, 3, states_53,
         "\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
        {310, "exprlist", 0, 3, states_54,
         "\000\020\001\000\000\000\000\000\000\000\000\000\300\210\344\000\000"},
        {311, "testlist", 0, 3, states_55,
-        "\000\020\001\000\000\000\000\000\000\000\002\000\300\210\344\002\000"},
+        "\000\020\001\000\000\000\000\000\000\000\004\000\300\210\344\002\000"},
        {312, "dictmaker", 0, 5, states_56,
-        "\000\020\001\000\000\000\000\000\000\000\002\000\300\210\344\002\000"},
+        "\000\020\001\000\000\000\000\000\000\000\004\000\300\210\344\002\000"},
        {313, "classdef", 0, 8, states_57,
         "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\100\000"},
        {314, "arglist", 0, 8, states_58,
-        "\000\020\201\001\000\000\000\000\000\000\002\000\300\210\344\002\000"},
+        "\000\020\201\001\000\000\000\000\000\000\004\000\300\210\344\002\000"},
        {315, "argument", 0, 4, states_59,
-        "\000\020\001\000\000\000\000\000\000\000\002\000\300\210\344\002\000"},
+        "\000\020\001\000\000\000\000\000\000\000\004\000\300\210\344\002\000"},
        {316, "list_iter", 0, 2, states_60,
-        "\000\000\000\000\000\000\000\000\042\000\000\000\000\000\000\000\000"},
+        "\000\000\000\000\000\000\000\000\104\000\000\000\000\000\000\000\000"},
        {317, "list_for", 0, 6, states_61,
-        "\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\100\000\000\000\000\000\000\000\000"},
        {318, "list_if", 0, 4, states_62,
-        "\000\000\000\000\000\000\000\000\002\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"},
 };
 static label labels[130] = {
        {0, "EMPTY"},
@@ -1511,6 +1540,7 @@ static label labels[130] = {
        {281, 0},
        {282, 0},
        {1, "print"},
+       {35, 0},
        {1, "del"},
        {310, 0},
        {1, "pass"},
@@ -1573,7 +1603,6 @@ static label labels[130] = {
        {19, 0},
        {299, 0},
        {34, 0},
-       {35, 0},
        {300, 0},
        {14, 0},
        {15, 0},