new grammar
diff --git a/Python/graminit.c b/Python/graminit.c
index bdbb22f..3ad2723 100644
--- a/Python/graminit.c
+++ b/Python/graminit.c
@@ -97,32 +97,50 @@
 	{22, 4},
 	{0, 1},
 };
-static arc arcs_5_2[1] = {
+static arc arcs_5_2[2] = {
 	{12, 5},
+	{23, 6},
 };
 static arc arcs_5_3[1] = {
-	{21, 6},
+	{21, 7},
 };
 static arc arcs_5_4[3] = {
 	{19, 1},
 	{23, 2},
 	{0, 4},
 };
-static arc arcs_5_5[1] = {
+static arc arcs_5_5[2] = {
+	{22, 8},
 	{0, 5},
 };
-static arc arcs_5_6[2] = {
-	{22, 4},
-	{0, 6},
+static arc arcs_5_6[1] = {
+	{12, 9},
 };
-static state states_5[7] = {
+static arc arcs_5_7[2] = {
+	{22, 4},
+	{0, 7},
+};
+static arc arcs_5_8[1] = {
+	{23, 10},
+};
+static arc arcs_5_9[1] = {
+	{0, 9},
+};
+static arc arcs_5_10[1] = {
+	{23, 6},
+};
+static state states_5[11] = {
 	{2, arcs_5_0},
 	{3, arcs_5_1},
-	{1, arcs_5_2},
+	{2, arcs_5_2},
 	{1, arcs_5_3},
 	{3, arcs_5_4},
-	{1, arcs_5_5},
-	{2, arcs_5_6},
+	{2, arcs_5_5},
+	{1, arcs_5_6},
+	{2, arcs_5_7},
+	{1, arcs_5_8},
+	{1, arcs_5_9},
+	{1, arcs_5_10},
 };
 static arc arcs_6_0[2] = {
 	{12, 1},
@@ -320,15 +338,24 @@
 static arc arcs_19_3[1] = {
 	{21, 4},
 };
-static arc arcs_19_4[1] = {
+static arc arcs_19_4[2] = {
+	{22, 5},
 	{0, 4},
 };
-static state states_19[5] = {
+static arc arcs_19_5[1] = {
+	{21, 6},
+};
+static arc arcs_19_6[1] = {
+	{0, 6},
+};
+static state states_19[7] = {
 	{1, arcs_19_0},
 	{1, arcs_19_1},
 	{2, arcs_19_2},
 	{1, arcs_19_3},
-	{1, arcs_19_4},
+	{2, arcs_19_4},
+	{1, arcs_19_5},
+	{1, arcs_19_6},
 };
 static arc arcs_20_0[2] = {
 	{48, 1},
@@ -958,11 +985,11 @@
 	{51, 3},
 };
 static arc arcs_47_1[2] = {
-	{9, 4},
+	{117, 4},
 	{18, 5},
 };
 static arc arcs_47_2[1] = {
-	{117, 6},
+	{118, 6},
 };
 static arc arcs_47_3[1] = {
 	{12, 5},
@@ -1063,7 +1090,7 @@
 	{2, arcs_51_4},
 };
 static arc arcs_52_0[1] = {
-	{118, 1},
+	{119, 1},
 };
 static arc arcs_52_1[1] = {
 	{12, 2},
@@ -1097,115 +1124,154 @@
 	{1, arcs_52_6},
 	{1, arcs_52_7},
 };
-static dfa dfas[53] = {
-	{256, "single_input", 0, 3, states_0,
-	 "\004\030\001\000\260\360\265\200\034\200\000\000\060\122\136"},
-	{257, "file_input", 0, 2, states_1,
-	 "\204\030\001\000\260\360\265\200\034\200\000\000\060\122\136"},
-	{258, "eval_input", 0, 3, states_2,
-	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\036"},
-	{259, "funcdef", 0, 6, states_3,
-	 "\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{260, "parameters", 0, 4, states_4,
-	 "\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{261, "varargslist", 0, 7, states_5,
-	 "\000\020\201\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{262, "fpdef", 0, 4, states_6,
-	 "\000\020\001\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{263, "fplist", 0, 3, states_7,
-	 "\000\020\001\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{264, "stmt", 0, 2, states_8,
-	 "\000\030\001\000\260\360\265\200\034\200\000\000\060\122\136"},
-	{265, "simple_stmt", 0, 4, states_9,
-	 "\000\020\001\000\260\360\265\000\000\200\000\000\060\122\036"},
-	{266, "small_stmt", 0, 2, states_10,
-	 "\000\020\001\000\260\360\265\000\000\200\000\000\060\122\036"},
-	{267, "expr_stmt", 0, 2, states_11,
-	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\036"},
-	{268, "print_stmt", 0, 3, states_12,
-	 "\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000"},
-	{269, "del_stmt", 0, 3, states_13,
-	 "\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000"},
-	{270, "pass_stmt", 0, 2, states_14,
-	 "\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000"},
-	{271, "flow_stmt", 0, 2, states_15,
-	 "\000\000\000\000\000\360\000\000\000\000\000\000\000\000\000"},
-	{272, "break_stmt", 0, 2, states_16,
-	 "\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000"},
-	{273, "continue_stmt", 0, 2, states_17,
-	 "\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000"},
-	{274, "return_stmt", 0, 3, states_18,
-	 "\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000"},
-	{275, "raise_stmt", 0, 5, states_19,
-	 "\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000"},
-	{276, "import_stmt", 0, 9, states_20,
-	 "\000\000\000\000\000\000\005\000\000\000\000\000\000\000\000"},
-	{277, "dotted_name", 0, 2, states_21,
-	 "\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{278, "global_stmt", 0, 3, states_22,
-	 "\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000"},
-	{279, "access_stmt", 0, 7, states_23,
-	 "\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000"},
-	{280, "accesstype", 0, 2, states_24,
-	 "\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{281, "exec_stmt", 0, 7, states_25,
-	 "\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000"},
-	{282, "compound_stmt", 0, 2, states_26,
-	 "\000\010\000\000\000\000\000\200\034\000\000\000\000\000\100"},
-	{283, "if_stmt", 0, 8, states_27,
-	 "\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000"},
-	{284, "while_stmt", 0, 8, states_28,
-	 "\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000"},
-	{285, "for_stmt", 0, 10, states_29,
-	 "\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000"},
-	{286, "try_stmt", 0, 10, states_30,
-	 "\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000"},
-	{287, "except_clause", 0, 5, states_31,
-	 "\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000"},
-	{288, "suite", 0, 5, states_32,
-	 "\004\020\001\000\260\360\265\000\000\200\000\000\060\122\036"},
-	{289, "test", 0, 4, states_33,
-	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\036"},
-	{290, "and_test", 0, 2, states_34,
-	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\016"},
-	{291, "not_test", 0, 3, states_35,
-	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\016"},
-	{292, "comparison", 0, 2, states_36,
-	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016"},
-	{293, "comp_op", 0, 4, states_37,
-	 "\000\000\000\000\000\000\000\002\000\200\374\003\000\000\000"},
-	{294, "expr", 0, 2, states_38,
-	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016"},
-	{295, "xor_expr", 0, 2, states_39,
-	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016"},
-	{296, "and_expr", 0, 2, states_40,
-	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016"},
-	{297, "shift_expr", 0, 2, states_41,
-	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016"},
-	{298, "arith_expr", 0, 2, states_42,
-	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016"},
-	{299, "term", 0, 2, states_43,
-	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016"},
-	{300, "factor", 0, 4, states_44,
-	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016"},
-	{301, "atom", 0, 11, states_45,
-	 "\000\020\001\000\000\000\000\000\000\000\000\000\000\120\016"},
-	{302, "lambdef", 0, 5, states_46,
-	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020"},
-	{303, "trailer", 0, 7, states_47,
-	 "\000\000\001\000\000\000\010\000\000\000\000\000\000\020\000"},
-	{304, "subscript", 0, 4, states_48,
-	 "\000\120\001\000\000\000\000\000\000\200\000\000\060\122\036"},
-	{305, "exprlist", 0, 3, states_49,
-	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016"},
-	{306, "testlist", 0, 3, states_50,
-	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\036"},
-	{307, "dictmaker", 0, 5, states_51,
-	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\036"},
-	{308, "classdef", 0, 8, states_52,
-	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\100"},
+static arc arcs_53_0[1] = {
+	{120, 1},
 };
-static label labels[119] = {
+static arc arcs_53_1[2] = {
+	{22, 2},
+	{0, 1},
+};
+static arc arcs_53_2[2] = {
+	{120, 1},
+	{0, 2},
+};
+static state states_53[3] = {
+	{1, arcs_53_0},
+	{2, arcs_53_1},
+	{2, arcs_53_2},
+};
+static arc arcs_54_0[1] = {
+	{21, 1},
+};
+static arc arcs_54_1[2] = {
+	{20, 2},
+	{0, 1},
+};
+static arc arcs_54_2[1] = {
+	{21, 3},
+};
+static arc arcs_54_3[1] = {
+	{0, 3},
+};
+static state states_54[4] = {
+	{1, arcs_54_0},
+	{2, arcs_54_1},
+	{1, arcs_54_2},
+	{1, arcs_54_3},
+};
+static dfa dfas[55] = {
+	{256, "single_input", 0, 3, states_0,
+	 "\004\030\001\000\260\360\265\200\034\200\000\000\060\122\236\000"},
+	{257, "file_input", 0, 2, states_1,
+	 "\204\030\001\000\260\360\265\200\034\200\000\000\060\122\236\000"},
+	{258, "eval_input", 0, 3, states_2,
+	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\036\000"},
+	{259, "funcdef", 0, 6, states_3,
+	 "\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
+	{260, "parameters", 0, 4, states_4,
+	 "\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000"},
+	{261, "varargslist", 0, 11, states_5,
+	 "\000\020\201\000\000\000\000\000\000\000\000\000\000\000\000\000"},
+	{262, "fpdef", 0, 4, states_6,
+	 "\000\020\001\000\000\000\000\000\000\000\000\000\000\000\000\000"},
+	{263, "fplist", 0, 3, states_7,
+	 "\000\020\001\000\000\000\000\000\000\000\000\000\000\000\000\000"},
+	{264, "stmt", 0, 2, states_8,
+	 "\000\030\001\000\260\360\265\200\034\200\000\000\060\122\236\000"},
+	{265, "simple_stmt", 0, 4, states_9,
+	 "\000\020\001\000\260\360\265\000\000\200\000\000\060\122\036\000"},
+	{266, "small_stmt", 0, 2, states_10,
+	 "\000\020\001\000\260\360\265\000\000\200\000\000\060\122\036\000"},
+	{267, "expr_stmt", 0, 2, states_11,
+	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\036\000"},
+	{268, "print_stmt", 0, 3, states_12,
+	 "\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000"},
+	{269, "del_stmt", 0, 3, states_13,
+	 "\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000"},
+	{270, "pass_stmt", 0, 2, states_14,
+	 "\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000"},
+	{271, "flow_stmt", 0, 2, states_15,
+	 "\000\000\000\000\000\360\000\000\000\000\000\000\000\000\000\000"},
+	{272, "break_stmt", 0, 2, states_16,
+	 "\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000"},
+	{273, "continue_stmt", 0, 2, states_17,
+	 "\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000"},
+	{274, "return_stmt", 0, 3, states_18,
+	 "\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000\000"},
+	{275, "raise_stmt", 0, 7, states_19,
+	 "\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000"},
+	{276, "import_stmt", 0, 9, states_20,
+	 "\000\000\000\000\000\000\005\000\000\000\000\000\000\000\000\000"},
+	{277, "dotted_name", 0, 2, states_21,
+	 "\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
+	{278, "global_stmt", 0, 3, states_22,
+	 "\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000"},
+	{279, "access_stmt", 0, 7, states_23,
+	 "\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000"},
+	{280, "accesstype", 0, 2, states_24,
+	 "\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
+	{281, "exec_stmt", 0, 7, states_25,
+	 "\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000"},
+	{282, "compound_stmt", 0, 2, states_26,
+	 "\000\010\000\000\000\000\000\200\034\000\000\000\000\000\200\000"},
+	{283, "if_stmt", 0, 8, states_27,
+	 "\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000"},
+	{284, "while_stmt", 0, 8, states_28,
+	 "\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000"},
+	{285, "for_stmt", 0, 10, states_29,
+	 "\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000"},
+	{286, "try_stmt", 0, 10, states_30,
+	 "\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000"},
+	{287, "except_clause", 0, 5, states_31,
+	 "\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000"},
+	{288, "suite", 0, 5, states_32,
+	 "\004\020\001\000\260\360\265\000\000\200\000\000\060\122\036\000"},
+	{289, "test", 0, 4, states_33,
+	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\036\000"},
+	{290, "and_test", 0, 2, states_34,
+	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\016\000"},
+	{291, "not_test", 0, 3, states_35,
+	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\016\000"},
+	{292, "comparison", 0, 2, states_36,
+	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016\000"},
+	{293, "comp_op", 0, 4, states_37,
+	 "\000\000\000\000\000\000\000\002\000\200\374\003\000\000\000\000"},
+	{294, "expr", 0, 2, states_38,
+	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016\000"},
+	{295, "xor_expr", 0, 2, states_39,
+	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016\000"},
+	{296, "and_expr", 0, 2, states_40,
+	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016\000"},
+	{297, "shift_expr", 0, 2, states_41,
+	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016\000"},
+	{298, "arith_expr", 0, 2, states_42,
+	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016\000"},
+	{299, "term", 0, 2, states_43,
+	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016\000"},
+	{300, "factor", 0, 4, states_44,
+	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016\000"},
+	{301, "atom", 0, 11, states_45,
+	 "\000\020\001\000\000\000\000\000\000\000\000\000\000\120\016\000"},
+	{302, "lambdef", 0, 5, states_46,
+	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\000"},
+	{303, "trailer", 0, 7, states_47,
+	 "\000\000\001\000\000\000\010\000\000\000\000\000\000\020\000\000"},
+	{304, "subscript", 0, 4, states_48,
+	 "\000\120\001\000\000\000\000\000\000\200\000\000\060\122\036\000"},
+	{305, "exprlist", 0, 3, states_49,
+	 "\000\020\001\000\000\000\000\000\000\000\000\000\060\122\016\000"},
+	{306, "testlist", 0, 3, states_50,
+	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\036\000"},
+	{307, "dictmaker", 0, 5, states_51,
+	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\036\000"},
+	{308, "classdef", 0, 8, states_52,
+	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\200\000"},
+	{309, "arglist", 0, 3, states_53,
+	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\036\000"},
+	{310, "argument", 0, 4, states_54,
+	 "\000\020\001\000\000\000\000\000\000\200\000\000\060\122\036\000"},
+};
+static label labels[121] = {
 	{0, "EMPTY"},
 	{256, 0},
 	{4, 0},
@@ -1323,12 +1389,14 @@
 	{2, 0},
 	{3, 0},
 	{1, "lambda"},
+	{309, 0},
 	{304, 0},
 	{1, "class"},
+	{310, 0},
 };
 grammar gram = {
-	53,
+	55,
 	dfas,
-	{119, labels},
+	{121, labels},
 	256
 };