PEP 214, Extended print Statement, has been accepted by the BDFL.

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.
This commit is contained in:
Barry Warsaw 2000-08-21 15:44:01 +00:00
parent 29c574e30c
commit 23c9ec87cf
2 changed files with 185 additions and 139 deletions

View 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 (err == 0)
PyFile_SoftSpace(x, 0);
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(w, 0);
}
Py_XDECREF(stream);
stream = NULL;
break;
case BREAK_LOOP:

View 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},