Index: Python/graminit.c
===================================================================
--- Python/graminit.c	(revision 66304)
+++ Python/graminit.c	(working copy)
@@ -706,7 +706,7 @@
 	{1, arcs_35_3},
 	{1, arcs_35_4},
 };
-static arc arcs_36_0[8] = {
+static arc arcs_36_0[9] = {
 	{87, 1},
 	{88, 1},
 	{89, 1},
@@ -715,16 +715,17 @@
 	{19, 1},
 	{18, 1},
 	{17, 1},
+	{92, 1},
 };
 static arc arcs_36_1[1] = {
 	{0, 1},
 };
 static state states_36[2] = {
-	{8, arcs_36_0},
+	{9, arcs_36_0},
 	{1, arcs_36_1},
 };
 static arc arcs_37_0[1] = {
-	{92, 1},
+	{93, 1},
 };
 static arc arcs_37_1[1] = {
 	{28, 2},
@@ -736,8 +737,8 @@
 	{24, 4},
 };
 static arc arcs_37_4[3] = {
-	{93, 1},
-	{94, 5},
+	{94, 1},
+	{95, 5},
 	{0, 4},
 };
 static arc arcs_37_5[1] = {
@@ -760,7 +761,7 @@
 	{1, arcs_37_7},
 };
 static arc arcs_38_0[1] = {
-	{95, 1},
+	{96, 1},
 };
 static arc arcs_38_1[1] = {
 	{28, 2},
@@ -772,7 +773,7 @@
 	{24, 4},
 };
 static arc arcs_38_4[2] = {
-	{94, 5},
+	{95, 5},
 	{0, 4},
 };
 static arc arcs_38_5[1] = {
@@ -795,294 +796,305 @@
 	{1, arcs_38_7},
 };
 static arc arcs_39_0[1] = {
-	{96, 1},
+	{97, 1},
 };
 static arc arcs_39_1[1] = {
-	{61, 2},
+	{28, 2},
 };
 static arc arcs_39_2[1] = {
-	{85, 3},
+	{23, 3},
 };
 static arc arcs_39_3[1] = {
-	{9, 4},
+	{24, 4},
 };
 static arc arcs_39_4[1] = {
-	{23, 5},
+	{0, 4},
 };
-static arc arcs_39_5[1] = {
-	{24, 6},
-};
-static arc arcs_39_6[2] = {
-	{94, 7},
-	{0, 6},
-};
-static arc arcs_39_7[1] = {
-	{23, 8},
-};
-static arc arcs_39_8[1] = {
-	{24, 9},
-};
-static arc arcs_39_9[1] = {
-	{0, 9},
-};
-static state states_39[10] = {
+static state states_39[5] = {
 	{1, arcs_39_0},
 	{1, arcs_39_1},
 	{1, arcs_39_2},
 	{1, arcs_39_3},
 	{1, arcs_39_4},
-	{1, arcs_39_5},
-	{2, arcs_39_6},
-	{1, arcs_39_7},
-	{1, arcs_39_8},
-	{1, arcs_39_9},
 };
 static arc arcs_40_0[1] = {
-	{97, 1},
+	{98, 1},
 };
 static arc arcs_40_1[1] = {
-	{23, 2},
+	{61, 2},
 };
 static arc arcs_40_2[1] = {
-	{24, 3},
+	{85, 3},
 };
-static arc arcs_40_3[2] = {
-	{98, 4},
-	{99, 5},
+static arc arcs_40_3[1] = {
+	{9, 4},
 };
 static arc arcs_40_4[1] = {
-	{23, 6},
+	{23, 5},
 };
 static arc arcs_40_5[1] = {
-	{23, 7},
+	{24, 6},
 };
-static arc arcs_40_6[1] = {
-	{24, 8},
+static arc arcs_40_6[2] = {
+	{95, 7},
+	{0, 6},
 };
 static arc arcs_40_7[1] = {
+	{23, 8},
+};
+static arc arcs_40_8[1] = {
 	{24, 9},
 };
-static arc arcs_40_8[4] = {
-	{98, 4},
-	{94, 10},
-	{99, 5},
-	{0, 8},
-};
 static arc arcs_40_9[1] = {
 	{0, 9},
 };
-static arc arcs_40_10[1] = {
-	{23, 11},
-};
-static arc arcs_40_11[1] = {
-	{24, 12},
-};
-static arc arcs_40_12[2] = {
-	{99, 5},
-	{0, 12},
-};
-static state states_40[13] = {
+static state states_40[10] = {
 	{1, arcs_40_0},
 	{1, arcs_40_1},
 	{1, arcs_40_2},
-	{2, arcs_40_3},
+	{1, arcs_40_3},
 	{1, arcs_40_4},
 	{1, arcs_40_5},
-	{1, arcs_40_6},
+	{2, arcs_40_6},
 	{1, arcs_40_7},
-	{4, arcs_40_8},
+	{1, arcs_40_8},
 	{1, arcs_40_9},
-	{1, arcs_40_10},
-	{1, arcs_40_11},
-	{2, arcs_40_12},
 };
 static arc arcs_41_0[1] = {
-	{100, 1},
+	{99, 1},
 };
 static arc arcs_41_1[1] = {
-	{28, 2},
+	{23, 2},
 };
-static arc arcs_41_2[2] = {
-	{101, 3},
-	{23, 4},
+static arc arcs_41_2[1] = {
+	{24, 3},
 };
-static arc arcs_41_3[1] = {
-	{23, 4},
+static arc arcs_41_3[2] = {
+	{100, 4},
+	{101, 5},
 };
 static arc arcs_41_4[1] = {
-	{24, 5},
+	{23, 6},
 };
 static arc arcs_41_5[1] = {
-	{0, 5},
+	{23, 7},
 };
-static state states_41[6] = {
+static arc arcs_41_6[1] = {
+	{24, 8},
+};
+static arc arcs_41_7[1] = {
+	{24, 9},
+};
+static arc arcs_41_8[4] = {
+	{100, 4},
+	{95, 10},
+	{101, 5},
+	{0, 8},
+};
+static arc arcs_41_9[1] = {
+	{0, 9},
+};
+static arc arcs_41_10[1] = {
+	{23, 11},
+};
+static arc arcs_41_11[1] = {
+	{24, 12},
+};
+static arc arcs_41_12[2] = {
+	{101, 5},
+	{0, 12},
+};
+static state states_41[13] = {
 	{1, arcs_41_0},
 	{1, arcs_41_1},
-	{2, arcs_41_2},
-	{1, arcs_41_3},
+	{1, arcs_41_2},
+	{2, arcs_41_3},
 	{1, arcs_41_4},
 	{1, arcs_41_5},
+	{1, arcs_41_6},
+	{1, arcs_41_7},
+	{4, arcs_41_8},
+	{1, arcs_41_9},
+	{1, arcs_41_10},
+	{1, arcs_41_11},
+	{2, arcs_41_12},
 };
 static arc arcs_42_0[1] = {
-	{80, 1},
+	{102, 1},
 };
 static arc arcs_42_1[1] = {
-	{84, 2},
+	{28, 2},
 };
-static arc arcs_42_2[1] = {
-	{0, 2},
+static arc arcs_42_2[2] = {
+	{103, 3},
+	{23, 4},
 };
-static state states_42[3] = {
+static arc arcs_42_3[1] = {
+	{23, 4},
+};
+static arc arcs_42_4[1] = {
+	{24, 5},
+};
+static arc arcs_42_5[1] = {
+	{0, 5},
+};
+static state states_42[6] = {
 	{1, arcs_42_0},
 	{1, arcs_42_1},
-	{1, arcs_42_2},
+	{2, arcs_42_2},
+	{1, arcs_42_3},
+	{1, arcs_42_4},
+	{1, arcs_42_5},
 };
 static arc arcs_43_0[1] = {
-	{102, 1},
+	{80, 1},
 };
-static arc arcs_43_1[2] = {
+static arc arcs_43_1[1] = {
+	{84, 2},
+};
+static arc arcs_43_2[1] = {
+	{0, 2},
+};
+static state states_43[3] = {
+	{1, arcs_43_0},
+	{1, arcs_43_1},
+	{1, arcs_43_2},
+};
+static arc arcs_44_0[1] = {
+	{104, 1},
+};
+static arc arcs_44_1[2] = {
 	{28, 2},
 	{0, 1},
 };
-static arc arcs_43_2[3] = {
+static arc arcs_44_2[3] = {
 	{80, 3},
 	{29, 3},
 	{0, 2},
 };
-static arc arcs_43_3[1] = {
+static arc arcs_44_3[1] = {
 	{28, 4},
 };
-static arc arcs_43_4[1] = {
+static arc arcs_44_4[1] = {
 	{0, 4},
 };
-static state states_43[5] = {
-	{1, arcs_43_0},
-	{2, arcs_43_1},
-	{3, arcs_43_2},
-	{1, arcs_43_3},
-	{1, arcs_43_4},
+static state states_44[5] = {
+	{1, arcs_44_0},
+	{2, arcs_44_1},
+	{3, arcs_44_2},
+	{1, arcs_44_3},
+	{1, arcs_44_4},
 };
-static arc arcs_44_0[2] = {
+static arc arcs_45_0[2] = {
 	{3, 1},
 	{2, 2},
 };
-static arc arcs_44_1[1] = {
+static arc arcs_45_1[1] = {
 	{0, 1},
 };
-static arc arcs_44_2[1] = {
-	{103, 3},
+static arc arcs_45_2[1] = {
+	{105, 3},
 };
-static arc arcs_44_3[1] = {
+static arc arcs_45_3[1] = {
 	{6, 4},
 };
-static arc arcs_44_4[2] = {
+static arc arcs_45_4[2] = {
 	{6, 4},
-	{104, 1},
+	{106, 1},
 };
-static state states_44[5] = {
-	{2, arcs_44_0},
-	{1, arcs_44_1},
-	{1, arcs_44_2},
-	{1, arcs_44_3},
-	{2, arcs_44_4},
+static state states_45[5] = {
+	{2, arcs_45_0},
+	{1, arcs_45_1},
+	{1, arcs_45_2},
+	{1, arcs_45_3},
+	{2, arcs_45_4},
 };
-static arc arcs_45_0[1] = {
-	{106, 1},
+static arc arcs_46_0[1] = {
+	{108, 1},
 };
-static arc arcs_45_1[2] = {
+static arc arcs_46_1[2] = {
 	{29, 2},
 	{0, 1},
 };
-static arc arcs_45_2[1] = {
-	{106, 3},
+static arc arcs_46_2[1] = {
+	{108, 3},
 };
-static arc arcs_45_3[2] = {
+static arc arcs_46_3[2] = {
 	{29, 4},
 	{0, 3},
 };
-static arc arcs_45_4[2] = {
-	{106, 3},
+static arc arcs_46_4[2] = {
+	{108, 3},
 	{0, 4},
 };
-static state states_45[5] = {
-	{1, arcs_45_0},
-	{2, arcs_45_1},
-	{1, arcs_45_2},
-	{2, arcs_45_3},
-	{2, arcs_45_4},
+static state states_46[5] = {
+	{1, arcs_46_0},
+	{2, arcs_46_1},
+	{1, arcs_46_2},
+	{2, arcs_46_3},
+	{2, arcs_46_4},
 };
-static arc arcs_46_0[2] = {
-	{107, 1},
-	{108, 1},
+static arc arcs_47_0[2] = {
+	{109, 1},
+	{110, 1},
 };
-static arc arcs_46_1[1] = {
+static arc arcs_47_1[1] = {
 	{0, 1},
 };
-static state states_46[2] = {
-	{2, arcs_46_0},
-	{1, arcs_46_1},
+static state states_47[2] = {
+	{2, arcs_47_0},
+	{1, arcs_47_1},
 };
-static arc arcs_47_0[1] = {
-	{109, 1},
+static arc arcs_48_0[1] = {
+	{111, 1},
 };
-static arc arcs_47_1[2] = {
+static arc arcs_48_1[2] = {
 	{25, 2},
 	{23, 3},
 };
-static arc arcs_47_2[1] = {
+static arc arcs_48_2[1] = {
 	{23, 3},
 };
-static arc arcs_47_3[1] = {
-	{106, 4},
+static arc arcs_48_3[1] = {
+	{108, 4},
 };
-static arc arcs_47_4[1] = {
+static arc arcs_48_4[1] = {
 	{0, 4},
 };
-static state states_47[5] = {
-	{1, arcs_47_0},
-	{2, arcs_47_1},
-	{1, arcs_47_2},
-	{1, arcs_47_3},
-	{1, arcs_47_4},
+static state states_48[5] = {
+	{1, arcs_48_0},
+	{2, arcs_48_1},
+	{1, arcs_48_2},
+	{1, arcs_48_3},
+	{1, arcs_48_4},
 };
-static arc arcs_48_0[2] = {
-	{107, 1},
-	{110, 2},
+static arc arcs_49_0[2] = {
+	{109, 1},
+	{112, 2},
 };
-static arc arcs_48_1[2] = {
-	{92, 3},
+static arc arcs_49_1[2] = {
+	{93, 3},
 	{0, 1},
 };
-static arc arcs_48_2[1] = {
+static arc arcs_49_2[1] = {
 	{0, 2},
 };
-static arc arcs_48_3[1] = {
-	{107, 4},
+static arc arcs_49_3[1] = {
+	{109, 4},
 };
-static arc arcs_48_4[1] = {
-	{94, 5},
+static arc arcs_49_4[1] = {
+	{95, 5},
 };
-static arc arcs_48_5[1] = {
+static arc arcs_49_5[1] = {
 	{28, 2},
 };
-static state states_48[6] = {
-	{2, arcs_48_0},
-	{2, arcs_48_1},
-	{1, arcs_48_2},
-	{1, arcs_48_3},
-	{1, arcs_48_4},
-	{1, arcs_48_5},
-};
-static arc arcs_49_0[1] = {
-	{111, 1},
-};
-static arc arcs_49_1[2] = {
-	{112, 0},
-	{0, 1},
-};
-static state states_49[2] = {
-	{1, arcs_49_0},
+static state states_49[6] = {
+	{2, arcs_49_0},
 	{2, arcs_49_1},
+	{1, arcs_49_2},
+	{1, arcs_49_3},
+	{1, arcs_49_4},
+	{1, arcs_49_5},
 };
 static arc arcs_50_0[1] = {
 	{113, 1},
@@ -1095,71 +1107,71 @@
 	{1, arcs_50_0},
 	{2, arcs_50_1},
 };
-static arc arcs_51_0[2] = {
+static arc arcs_51_0[1] = {
 	{115, 1},
-	{116, 2},
 };
-static arc arcs_51_1[1] = {
-	{113, 2},
+static arc arcs_51_1[2] = {
+	{116, 0},
+	{0, 1},
 };
-static arc arcs_51_2[1] = {
+static state states_51[2] = {
+	{1, arcs_51_0},
+	{2, arcs_51_1},
+};
+static arc arcs_52_0[2] = {
+	{117, 1},
+	{118, 2},
+};
+static arc arcs_52_1[1] = {
+	{115, 2},
+};
+static arc arcs_52_2[1] = {
 	{0, 2},
 };
-static state states_51[3] = {
-	{2, arcs_51_0},
-	{1, arcs_51_1},
-	{1, arcs_51_2},
+static state states_52[3] = {
+	{2, arcs_52_0},
+	{1, arcs_52_1},
+	{1, arcs_52_2},
 };
-static arc arcs_52_0[1] = {
+static arc arcs_53_0[1] = {
 	{84, 1},
 };
-static arc arcs_52_1[2] = {
-	{117, 0},
+static arc arcs_53_1[2] = {
+	{119, 0},
 	{0, 1},
 };
-static state states_52[2] = {
-	{1, arcs_52_0},
-	{2, arcs_52_1},
+static state states_53[2] = {
+	{1, arcs_53_0},
+	{2, arcs_53_1},
 };
-static arc arcs_53_0[10] = {
-	{118, 1},
-	{119, 1},
+static arc arcs_54_0[10] = {
 	{120, 1},
 	{121, 1},
 	{122, 1},
 	{123, 1},
 	{124, 1},
+	{125, 1},
+	{126, 1},
 	{85, 1},
-	{115, 2},
-	{125, 3},
+	{117, 2},
+	{127, 3},
 };
-static arc arcs_53_1[1] = {
+static arc arcs_54_1[1] = {
 	{0, 1},
 };
-static arc arcs_53_2[1] = {
+static arc arcs_54_2[1] = {
 	{85, 1},
 };
-static arc arcs_53_3[2] = {
-	{115, 1},
+static arc arcs_54_3[2] = {
+	{117, 1},
 	{0, 3},
 };
-static state states_53[4] = {
-	{10, arcs_53_0},
-	{1, arcs_53_1},
-	{1, arcs_53_2},
-	{2, arcs_53_3},
+static state states_54[4] = {
+	{10, arcs_54_0},
+	{1, arcs_54_1},
+	{1, arcs_54_2},
+	{2, arcs_54_3},
 };
-static arc arcs_54_0[1] = {
-	{126, 1},
-};
-static arc arcs_54_1[2] = {
-	{127, 0},
-	{0, 1},
-};
-static state states_54[2] = {
-	{1, arcs_54_0},
-	{2, arcs_54_1},
-};
 static arc arcs_55_0[1] = {
 	{128, 1},
 };
@@ -1185,21 +1197,20 @@
 static arc arcs_57_0[1] = {
 	{132, 1},
 };
-static arc arcs_57_1[3] = {
+static arc arcs_57_1[2] = {
 	{133, 0},
-	{59, 0},
 	{0, 1},
 };
 static state states_57[2] = {
 	{1, arcs_57_0},
-	{3, arcs_57_1},
+	{2, arcs_57_1},
 };
 static arc arcs_58_0[1] = {
 	{134, 1},
 };
 static arc arcs_58_1[3] = {
 	{135, 0},
-	{136, 0},
+	{59, 0},
 	{0, 1},
 };
 static state states_58[2] = {
@@ -1207,144 +1218,130 @@
 	{3, arcs_58_1},
 };
 static arc arcs_59_0[1] = {
-	{137, 1},
+	{136, 1},
 };
-static arc arcs_59_1[5] = {
-	{30, 0},
+static arc arcs_59_1[3] = {
+	{137, 0},
 	{138, 0},
-	{139, 0},
-	{140, 0},
 	{0, 1},
 };
 static state states_59[2] = {
 	{1, arcs_59_0},
-	{5, arcs_59_1},
+	{3, arcs_59_1},
 };
-static arc arcs_60_0[4] = {
-	{135, 1},
-	{136, 1},
-	{141, 1},
-	{142, 2},
+static arc arcs_60_0[1] = {
+	{139, 1},
 };
-static arc arcs_60_1[1] = {
-	{137, 2},
+static arc arcs_60_1[5] = {
+	{30, 0},
+	{140, 0},
+	{141, 0},
+	{142, 0},
+	{0, 1},
 };
-static arc arcs_60_2[1] = {
+static state states_60[2] = {
+	{1, arcs_60_0},
+	{5, arcs_60_1},
+};
+static arc arcs_61_0[4] = {
+	{137, 1},
+	{138, 1},
+	{143, 1},
+	{144, 2},
+};
+static arc arcs_61_1[1] = {
+	{139, 2},
+};
+static arc arcs_61_2[1] = {
 	{0, 2},
 };
-static state states_60[3] = {
-	{4, arcs_60_0},
-	{1, arcs_60_1},
-	{1, arcs_60_2},
+static state states_61[3] = {
+	{4, arcs_61_0},
+	{1, arcs_61_1},
+	{1, arcs_61_2},
 };
-static arc arcs_61_0[1] = {
-	{143, 1},
+static arc arcs_62_0[1] = {
+	{145, 1},
 };
-static arc arcs_61_1[3] = {
-	{144, 1},
+static arc arcs_62_1[3] = {
+	{146, 1},
 	{31, 2},
 	{0, 1},
 };
-static arc arcs_61_2[1] = {
-	{137, 3},
+static arc arcs_62_2[1] = {
+	{139, 3},
 };
-static arc arcs_61_3[1] = {
+static arc arcs_62_3[1] = {
 	{0, 3},
 };
-static state states_61[4] = {
-	{1, arcs_61_0},
-	{3, arcs_61_1},
-	{1, arcs_61_2},
-	{1, arcs_61_3},
+static state states_62[4] = {
+	{1, arcs_62_0},
+	{3, arcs_62_1},
+	{1, arcs_62_2},
+	{1, arcs_62_3},
 };
-static arc arcs_62_0[7] = {
+static arc arcs_63_0[7] = {
 	{13, 1},
-	{146, 2},
-	{149, 3},
-	{152, 4},
+	{148, 2},
+	{151, 3},
+	{154, 4},
 	{21, 5},
-	{154, 5},
-	{155, 6},
+	{156, 5},
+	{157, 6},
 };
-static arc arcs_62_1[3] = {
+static arc arcs_63_1[3] = {
 	{45, 7},
-	{145, 7},
+	{147, 7},
 	{15, 5},
 };
-static arc arcs_62_2[2] = {
-	{147, 8},
-	{148, 5},
+static arc arcs_63_2[2] = {
+	{149, 8},
+	{150, 5},
 };
-static arc arcs_62_3[2] = {
-	{150, 9},
-	{151, 5},
+static arc arcs_63_3[2] = {
+	{152, 9},
+	{153, 5},
 };
-static arc arcs_62_4[1] = {
-	{153, 10},
+static arc arcs_63_4[1] = {
+	{155, 10},
 };
-static arc arcs_62_5[1] = {
+static arc arcs_63_5[1] = {
 	{0, 5},
 };
-static arc arcs_62_6[2] = {
-	{155, 6},
+static arc arcs_63_6[2] = {
+	{157, 6},
 	{0, 6},
 };
-static arc arcs_62_7[1] = {
+static arc arcs_63_7[1] = {
 	{15, 5},
 };
-static arc arcs_62_8[1] = {
-	{148, 5},
+static arc arcs_63_8[1] = {
+	{150, 5},
 };
-static arc arcs_62_9[1] = {
-	{151, 5},
+static arc arcs_63_9[1] = {
+	{153, 5},
 };
-static arc arcs_62_10[1] = {
-	{152, 5},
+static arc arcs_63_10[1] = {
+	{154, 5},
 };
-static state states_62[11] = {
-	{7, arcs_62_0},
-	{3, arcs_62_1},
-	{2, arcs_62_2},
-	{2, arcs_62_3},
-	{1, arcs_62_4},
-	{1, arcs_62_5},
-	{2, arcs_62_6},
-	{1, arcs_62_7},
-	{1, arcs_62_8},
-	{1, arcs_62_9},
-	{1, arcs_62_10},
-};
-static arc arcs_63_0[1] = {
-	{28, 1},
-};
-static arc arcs_63_1[3] = {
-	{156, 2},
-	{29, 3},
-	{0, 1},
-};
-static arc arcs_63_2[1] = {
-	{0, 2},
-};
-static arc arcs_63_3[2] = {
-	{28, 4},
-	{0, 3},
-};
-static arc arcs_63_4[2] = {
-	{29, 3},
-	{0, 4},
-};
-static state states_63[5] = {
-	{1, arcs_63_0},
+static state states_63[11] = {
+	{7, arcs_63_0},
 	{3, arcs_63_1},
-	{1, arcs_63_2},
+	{2, arcs_63_2},
 	{2, arcs_63_3},
-	{2, arcs_63_4},
+	{1, arcs_63_4},
+	{1, arcs_63_5},
+	{2, arcs_63_6},
+	{1, arcs_63_7},
+	{1, arcs_63_8},
+	{1, arcs_63_9},
+	{1, arcs_63_10},
 };
 static arc arcs_64_0[1] = {
 	{28, 1},
 };
 static arc arcs_64_1[3] = {
-	{157, 2},
+	{158, 2},
 	{29, 3},
 	{0, 1},
 };
@@ -1367,153 +1364,163 @@
 	{2, arcs_64_4},
 };
 static arc arcs_65_0[1] = {
-	{109, 1},
+	{28, 1},
 };
-static arc arcs_65_1[2] = {
-	{25, 2},
-	{23, 3},
+static arc arcs_65_1[3] = {
+	{159, 2},
+	{29, 3},
+	{0, 1},
 };
 static arc arcs_65_2[1] = {
-	{23, 3},
+	{0, 2},
 };
-static arc arcs_65_3[1] = {
+static arc arcs_65_3[2] = {
 	{28, 4},
+	{0, 3},
 };
-static arc arcs_65_4[1] = {
+static arc arcs_65_4[2] = {
+	{29, 3},
 	{0, 4},
 };
 static state states_65[5] = {
 	{1, arcs_65_0},
-	{2, arcs_65_1},
+	{3, arcs_65_1},
 	{1, arcs_65_2},
-	{1, arcs_65_3},
-	{1, arcs_65_4},
+	{2, arcs_65_3},
+	{2, arcs_65_4},
 };
-static arc arcs_66_0[3] = {
+static arc arcs_66_0[1] = {
+	{111, 1},
+};
+static arc arcs_66_1[2] = {
+	{25, 2},
+	{23, 3},
+};
+static arc arcs_66_2[1] = {
+	{23, 3},
+};
+static arc arcs_66_3[1] = {
+	{28, 4},
+};
+static arc arcs_66_4[1] = {
+	{0, 4},
+};
+static state states_66[5] = {
+	{1, arcs_66_0},
+	{2, arcs_66_1},
+	{1, arcs_66_2},
+	{1, arcs_66_3},
+	{1, arcs_66_4},
+};
+static arc arcs_67_0[3] = {
 	{13, 1},
-	{146, 2},
+	{148, 2},
 	{77, 3},
 };
-static arc arcs_66_1[2] = {
+static arc arcs_67_1[2] = {
 	{14, 4},
 	{15, 5},
 };
-static arc arcs_66_2[1] = {
-	{158, 6},
+static arc arcs_67_2[1] = {
+	{160, 6},
 };
-static arc arcs_66_3[1] = {
+static arc arcs_67_3[1] = {
 	{21, 5},
 };
-static arc arcs_66_4[1] = {
+static arc arcs_67_4[1] = {
 	{15, 5},
 };
-static arc arcs_66_5[1] = {
+static arc arcs_67_5[1] = {
 	{0, 5},
 };
-static arc arcs_66_6[1] = {
-	{148, 5},
+static arc arcs_67_6[1] = {
+	{150, 5},
 };
-static state states_66[7] = {
-	{3, arcs_66_0},
-	{2, arcs_66_1},
-	{1, arcs_66_2},
-	{1, arcs_66_3},
-	{1, arcs_66_4},
-	{1, arcs_66_5},
-	{1, arcs_66_6},
+static state states_67[7] = {
+	{3, arcs_67_0},
+	{2, arcs_67_1},
+	{1, arcs_67_2},
+	{1, arcs_67_3},
+	{1, arcs_67_4},
+	{1, arcs_67_5},
+	{1, arcs_67_6},
 };
-static arc arcs_67_0[1] = {
-	{159, 1},
+static arc arcs_68_0[1] = {
+	{161, 1},
 };
-static arc arcs_67_1[2] = {
+static arc arcs_68_1[2] = {
 	{29, 2},
 	{0, 1},
 };
-static arc arcs_67_2[2] = {
-	{159, 1},
+static arc arcs_68_2[2] = {
+	{161, 1},
 	{0, 2},
 };
-static state states_67[3] = {
-	{1, arcs_67_0},
-	{2, arcs_67_1},
-	{2, arcs_67_2},
+static state states_68[3] = {
+	{1, arcs_68_0},
+	{2, arcs_68_1},
+	{2, arcs_68_2},
 };
-static arc arcs_68_0[3] = {
+static arc arcs_69_0[3] = {
 	{77, 1},
 	{28, 2},
 	{23, 3},
 };
-static arc arcs_68_1[1] = {
+static arc arcs_69_1[1] = {
 	{77, 4},
 };
-static arc arcs_68_2[2] = {
+static arc arcs_69_2[2] = {
 	{23, 3},
 	{0, 2},
 };
-static arc arcs_68_3[3] = {
+static arc arcs_69_3[3] = {
 	{28, 5},
-	{160, 6},
+	{162, 6},
 	{0, 3},
 };
-static arc arcs_68_4[1] = {
+static arc arcs_69_4[1] = {
 	{77, 6},
 };
-static arc arcs_68_5[2] = {
-	{160, 6},
+static arc arcs_69_5[2] = {
+	{162, 6},
 	{0, 5},
 };
-static arc arcs_68_6[1] = {
+static arc arcs_69_6[1] = {
 	{0, 6},
 };
-static state states_68[7] = {
-	{3, arcs_68_0},
-	{1, arcs_68_1},
-	{2, arcs_68_2},
-	{3, arcs_68_3},
-	{1, arcs_68_4},
-	{2, arcs_68_5},
-	{1, arcs_68_6},
+static state states_69[7] = {
+	{3, arcs_69_0},
+	{1, arcs_69_1},
+	{2, arcs_69_2},
+	{3, arcs_69_3},
+	{1, arcs_69_4},
+	{2, arcs_69_5},
+	{1, arcs_69_6},
 };
-static arc arcs_69_0[1] = {
+static arc arcs_70_0[1] = {
 	{23, 1},
 };
-static arc arcs_69_1[2] = {
+static arc arcs_70_1[2] = {
 	{28, 2},
 	{0, 1},
 };
-static arc arcs_69_2[1] = {
+static arc arcs_70_2[1] = {
 	{0, 2},
 };
-static state states_69[3] = {
-	{1, arcs_69_0},
-	{2, arcs_69_1},
-	{1, arcs_69_2},
-};
-static arc arcs_70_0[1] = {
-	{84, 1},
-};
-static arc arcs_70_1[2] = {
-	{29, 2},
-	{0, 1},
-};
-static arc arcs_70_2[2] = {
-	{84, 1},
-	{0, 2},
-};
 static state states_70[3] = {
 	{1, arcs_70_0},
 	{2, arcs_70_1},
-	{2, arcs_70_2},
+	{1, arcs_70_2},
 };
 static arc arcs_71_0[1] = {
-	{28, 1},
+	{84, 1},
 };
 static arc arcs_71_1[2] = {
 	{29, 2},
 	{0, 1},
 };
 static arc arcs_71_2[2] = {
-	{28, 1},
+	{84, 1},
 	{0, 2},
 };
 static state states_71[3] = {
@@ -1524,282 +1531,298 @@
 static arc arcs_72_0[1] = {
 	{28, 1},
 };
-static arc arcs_72_1[1] = {
+static arc arcs_72_1[2] = {
+	{29, 2},
+	{0, 1},
+};
+static arc arcs_72_2[2] = {
+	{28, 1},
+	{0, 2},
+};
+static state states_72[3] = {
+	{1, arcs_72_0},
+	{2, arcs_72_1},
+	{2, arcs_72_2},
+};
+static arc arcs_73_0[1] = {
+	{28, 1},
+};
+static arc arcs_73_1[1] = {
 	{23, 2},
 };
-static arc arcs_72_2[1] = {
+static arc arcs_73_2[1] = {
 	{28, 3},
 };
-static arc arcs_72_3[2] = {
+static arc arcs_73_3[2] = {
 	{29, 4},
 	{0, 3},
 };
-static arc arcs_72_4[2] = {
+static arc arcs_73_4[2] = {
 	{28, 1},
 	{0, 4},
 };
-static state states_72[5] = {
-	{1, arcs_72_0},
-	{1, arcs_72_1},
-	{1, arcs_72_2},
-	{2, arcs_72_3},
-	{2, arcs_72_4},
+static state states_73[5] = {
+	{1, arcs_73_0},
+	{1, arcs_73_1},
+	{1, arcs_73_2},
+	{2, arcs_73_3},
+	{2, arcs_73_4},
 };
-static arc arcs_73_0[1] = {
-	{161, 1},
+static arc arcs_74_0[1] = {
+	{163, 1},
 };
-static arc arcs_73_1[1] = {
+static arc arcs_74_1[1] = {
 	{21, 2},
 };
-static arc arcs_73_2[2] = {
+static arc arcs_74_2[2] = {
 	{13, 3},
 	{23, 4},
 };
-static arc arcs_73_3[2] = {
+static arc arcs_74_3[2] = {
 	{9, 5},
 	{15, 6},
 };
-static arc arcs_73_4[1] = {
+static arc arcs_74_4[1] = {
 	{24, 7},
 };
-static arc arcs_73_5[1] = {
+static arc arcs_74_5[1] = {
 	{15, 6},
 };
-static arc arcs_73_6[1] = {
+static arc arcs_74_6[1] = {
 	{23, 4},
 };
-static arc arcs_73_7[1] = {
+static arc arcs_74_7[1] = {
 	{0, 7},
 };
-static state states_73[8] = {
-	{1, arcs_73_0},
-	{1, arcs_73_1},
-	{2, arcs_73_2},
-	{2, arcs_73_3},
-	{1, arcs_73_4},
-	{1, arcs_73_5},
-	{1, arcs_73_6},
-	{1, arcs_73_7},
+static state states_74[8] = {
+	{1, arcs_74_0},
+	{1, arcs_74_1},
+	{2, arcs_74_2},
+	{2, arcs_74_3},
+	{1, arcs_74_4},
+	{1, arcs_74_5},
+	{1, arcs_74_6},
+	{1, arcs_74_7},
 };
-static arc arcs_74_0[3] = {
-	{162, 1},
+static arc arcs_75_0[3] = {
+	{164, 1},
 	{30, 2},
 	{31, 3},
 };
-static arc arcs_74_1[2] = {
+static arc arcs_75_1[2] = {
 	{29, 4},
 	{0, 1},
 };
-static arc arcs_74_2[1] = {
+static arc arcs_75_2[1] = {
 	{28, 5},
 };
-static arc arcs_74_3[1] = {
+static arc arcs_75_3[1] = {
 	{28, 6},
 };
-static arc arcs_74_4[4] = {
-	{162, 1},
+static arc arcs_75_4[4] = {
+	{164, 1},
 	{30, 2},
 	{31, 3},
 	{0, 4},
 };
-static arc arcs_74_5[2] = {
+static arc arcs_75_5[2] = {
 	{29, 7},
 	{0, 5},
 };
-static arc arcs_74_6[1] = {
+static arc arcs_75_6[1] = {
 	{0, 6},
 };
-static arc arcs_74_7[2] = {
-	{162, 5},
+static arc arcs_75_7[2] = {
+	{164, 5},
 	{31, 3},
 };
-static state states_74[8] = {
-	{3, arcs_74_0},
-	{2, arcs_74_1},
-	{1, arcs_74_2},
-	{1, arcs_74_3},
-	{4, arcs_74_4},
-	{2, arcs_74_5},
-	{1, arcs_74_6},
-	{2, arcs_74_7},
+static state states_75[8] = {
+	{3, arcs_75_0},
+	{2, arcs_75_1},
+	{1, arcs_75_2},
+	{1, arcs_75_3},
+	{4, arcs_75_4},
+	{2, arcs_75_5},
+	{1, arcs_75_6},
+	{2, arcs_75_7},
 };
-static arc arcs_75_0[1] = {
+static arc arcs_76_0[1] = {
 	{28, 1},
 };
-static arc arcs_75_1[3] = {
-	{157, 2},
+static arc arcs_76_1[3] = {
+	{159, 2},
 	{27, 3},
 	{0, 1},
 };
-static arc arcs_75_2[1] = {
+static arc arcs_76_2[1] = {
 	{0, 2},
 };
-static arc arcs_75_3[1] = {
+static arc arcs_76_3[1] = {
 	{28, 2},
 };
-static state states_75[4] = {
-	{1, arcs_75_0},
-	{3, arcs_75_1},
-	{1, arcs_75_2},
-	{1, arcs_75_3},
+static state states_76[4] = {
+	{1, arcs_76_0},
+	{3, arcs_76_1},
+	{1, arcs_76_2},
+	{1, arcs_76_3},
 };
-static arc arcs_76_0[2] = {
-	{156, 1},
-	{164, 1},
+static arc arcs_77_0[2] = {
+	{158, 1},
+	{166, 1},
 };
-static arc arcs_76_1[1] = {
+static arc arcs_77_1[1] = {
 	{0, 1},
 };
-static state states_76[2] = {
-	{2, arcs_76_0},
-	{1, arcs_76_1},
+static state states_77[2] = {
+	{2, arcs_77_0},
+	{1, arcs_77_1},
 };
-static arc arcs_77_0[1] = {
-	{96, 1},
+static arc arcs_78_0[1] = {
+	{98, 1},
 };
-static arc arcs_77_1[1] = {
+static arc arcs_78_1[1] = {
 	{61, 2},
 };
-static arc arcs_77_2[1] = {
+static arc arcs_78_2[1] = {
 	{85, 3},
 };
-static arc arcs_77_3[1] = {
-	{105, 4},
+static arc arcs_78_3[1] = {
+	{107, 4},
 };
-static arc arcs_77_4[2] = {
-	{163, 5},
+static arc arcs_78_4[2] = {
+	{165, 5},
 	{0, 4},
 };
-static arc arcs_77_5[1] = {
+static arc arcs_78_5[1] = {
 	{0, 5},
 };
-static state states_77[6] = {
-	{1, arcs_77_0},
-	{1, arcs_77_1},
-	{1, arcs_77_2},
-	{1, arcs_77_3},
-	{2, arcs_77_4},
-	{1, arcs_77_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_78_0[1] = {
-	{92, 1},
+static arc arcs_79_0[1] = {
+	{93, 1},
 };
-static arc arcs_78_1[1] = {
-	{106, 2},
+static arc arcs_79_1[1] = {
+	{108, 2},
 };
-static arc arcs_78_2[2] = {
-	{163, 3},
+static arc arcs_79_2[2] = {
+	{165, 3},
 	{0, 2},
 };
-static arc arcs_78_3[1] = {
+static arc arcs_79_3[1] = {
 	{0, 3},
 };
-static state states_78[4] = {
-	{1, arcs_78_0},
-	{1, arcs_78_1},
-	{2, arcs_78_2},
-	{1, arcs_78_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_79_0[2] = {
-	{157, 1},
-	{166, 1},
+static arc arcs_80_0[2] = {
+	{159, 1},
+	{168, 1},
 };
-static arc arcs_79_1[1] = {
+static arc arcs_80_1[1] = {
 	{0, 1},
 };
-static state states_79[2] = {
-	{2, arcs_79_0},
-	{1, arcs_79_1},
+static state states_80[2] = {
+	{2, arcs_80_0},
+	{1, arcs_80_1},
 };
-static arc arcs_80_0[1] = {
-	{96, 1},
+static arc arcs_81_0[1] = {
+	{98, 1},
 };
-static arc arcs_80_1[1] = {
+static arc arcs_81_1[1] = {
 	{61, 2},
 };
-static arc arcs_80_2[1] = {
+static arc arcs_81_2[1] = {
 	{85, 3},
 };
-static arc arcs_80_3[1] = {
-	{107, 4},
+static arc arcs_81_3[1] = {
+	{109, 4},
 };
-static arc arcs_80_4[2] = {
-	{165, 5},
+static arc arcs_81_4[2] = {
+	{167, 5},
 	{0, 4},
 };
-static arc arcs_80_5[1] = {
+static arc arcs_81_5[1] = {
 	{0, 5},
 };
-static state states_80[6] = {
-	{1, arcs_80_0},
-	{1, arcs_80_1},
-	{1, arcs_80_2},
-	{1, arcs_80_3},
-	{2, arcs_80_4},
-	{1, arcs_80_5},
+static state states_81[6] = {
+	{1, arcs_81_0},
+	{1, arcs_81_1},
+	{1, arcs_81_2},
+	{1, arcs_81_3},
+	{2, arcs_81_4},
+	{1, arcs_81_5},
 };
-static arc arcs_81_0[1] = {
-	{92, 1},
+static arc arcs_82_0[1] = {
+	{93, 1},
 };
-static arc arcs_81_1[1] = {
-	{106, 2},
+static arc arcs_82_1[1] = {
+	{108, 2},
 };
-static arc arcs_81_2[2] = {
-	{165, 3},
+static arc arcs_82_2[2] = {
+	{167, 3},
 	{0, 2},
 };
-static arc arcs_81_3[1] = {
+static arc arcs_82_3[1] = {
 	{0, 3},
 };
-static state states_81[4] = {
-	{1, arcs_81_0},
-	{1, arcs_81_1},
-	{2, arcs_81_2},
-	{1, arcs_81_3},
+static state states_82[4] = {
+	{1, arcs_82_0},
+	{1, arcs_82_1},
+	{2, arcs_82_2},
+	{1, arcs_82_3},
 };
-static arc arcs_82_0[1] = {
+static arc arcs_83_0[1] = {
 	{28, 1},
 };
-static arc arcs_82_1[2] = {
+static arc arcs_83_1[2] = {
 	{29, 0},
 	{0, 1},
 };
-static state states_82[2] = {
-	{1, arcs_82_0},
-	{2, arcs_82_1},
+static state states_83[2] = {
+	{1, arcs_83_0},
+	{2, arcs_83_1},
 };
-static arc arcs_83_0[1] = {
+static arc arcs_84_0[1] = {
 	{21, 1},
 };
-static arc arcs_83_1[1] = {
+static arc arcs_84_1[1] = {
 	{0, 1},
 };
-static state states_83[2] = {
-	{1, arcs_83_0},
-	{1, arcs_83_1},
+static state states_84[2] = {
+	{1, arcs_84_0},
+	{1, arcs_84_1},
 };
-static arc arcs_84_0[1] = {
-	{168, 1},
+static arc arcs_85_0[1] = {
+	{170, 1},
 };
-static arc arcs_84_1[2] = {
+static arc arcs_85_1[2] = {
 	{9, 2},
 	{0, 1},
 };
-static arc arcs_84_2[1] = {
+static arc arcs_85_2[1] = {
 	{0, 2},
 };
-static state states_84[3] = {
-	{1, arcs_84_0},
-	{2, arcs_84_1},
-	{1, arcs_84_2},
+static state states_85[3] = {
+	{1, arcs_85_0},
+	{2, arcs_85_1},
+	{1, arcs_85_2},
 };
-static dfa dfas[85] = {
+static dfa dfas[86] = {
 	{256, "single_input", 0, 3, states_0,
-	 "\004\050\060\000\000\000\000\124\360\024\114\220\023\040\010\000\200\041\044\015\002\001"},
+	 "\004\050\060\000\000\000\000\124\360\024\114\040\117\200\040\000\000\206\220\064\010\004"},
 	{257, "file_input", 0, 2, states_1,
-	 "\204\050\060\000\000\000\000\124\360\024\114\220\023\040\010\000\200\041\044\015\002\001"},
+	 "\204\050\060\000\000\000\000\124\360\024\114\040\117\200\040\000\000\206\220\064\010\004"},
 	{258, "eval_input", 0, 3, states_2,
-	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\040\010\000\200\041\044\015\000\000"},
+	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\200\040\000\000\206\220\064\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\000"},
 	{260, "decorators", 0, 2, states_4,
@@ -1817,13 +1840,13 @@
 	{266, "fplist", 0, 3, states_10,
 	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
 	{267, "stmt", 0, 2, states_11,
-	 "\000\050\060\000\000\000\000\124\360\024\114\220\023\040\010\000\200\041\044\015\002\001"},
+	 "\000\050\060\000\000\000\000\124\360\024\114\040\117\200\040\000\000\206\220\064\010\004"},
 	{268, "simple_stmt", 0, 4, states_12,
-	 "\000\040\040\000\000\000\000\124\360\024\114\000\000\040\010\000\200\041\044\015\000\001"},
+	 "\000\040\040\000\000\000\000\124\360\024\114\000\000\200\040\000\000\206\220\064\000\004"},
 	{269, "small_stmt", 0, 2, states_13,
-	 "\000\040\040\000\000\000\000\124\360\024\114\000\000\040\010\000\200\041\044\015\000\001"},
+	 "\000\040\040\000\000\000\000\124\360\024\114\000\000\200\040\000\000\206\220\064\000\004"},
 	{270, "expr_stmt", 0, 6, states_14,
-	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\040\010\000\200\041\044\015\000\000"},
+	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\200\040\000\000\206\220\064\000\000"},
 	{271, "augassign", 0, 2, states_15,
 	 "\000\000\000\000\000\300\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
 	{272, "print_stmt", 0, 9, states_16,
@@ -1833,7 +1856,7 @@
 	{274, "pass_stmt", 0, 2, states_18,
 	 "\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
 	{275, "flow_stmt", 0, 2, states_19,
-	 "\000\000\000\000\000\000\000\000\360\000\000\000\000\000\000\000\000\000\000\000\000\001"},
+	 "\000\000\000\000\000\000\000\000\360\000\000\000\000\000\000\000\000\000\000\000\000\004"},
 	{276, "break_stmt", 0, 2, states_20,
 	 "\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000"},
 	{277, "continue_stmt", 0, 2, states_21,
@@ -1841,7 +1864,7 @@
 	{278, "return_stmt", 0, 3, states_22,
 	 "\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000"},
 	{279, "yield_stmt", 0, 2, states_23,
-	 "\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\004"},
 	{280, "raise_stmt", 0, 7, states_24,
 	 "\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000"},
 	{281, "import_stmt", 0, 2, states_25,
@@ -1867,105 +1890,107 @@
 	{291, "assert_stmt", 0, 5, states_35,
 	 "\000\000\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000"},
 	{292, "compound_stmt", 0, 2, states_36,
-	 "\000\010\020\000\000\000\000\000\000\000\000\220\023\000\000\000\000\000\000\000\002\000"},
+	 "\000\010\020\000\000\000\000\000\000\000\000\040\117\000\000\000\000\000\000\000\010\000"},
 	{293, "if_stmt", 0, 8, states_37,
-	 "\000\000\000\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\000\040\000\000\000\000\000\000\000\000\000\000"},
 	{294, "while_stmt", 0, 8, states_38,
-	 "\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000"},
-	{295, "for_stmt", 0, 10, states_39,
 	 "\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000"},
-	{296, "try_stmt", 0, 13, states_40,
+	{295, "unless_stmt", 0, 5, states_39,
 	 "\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000"},
-	{297, "with_stmt", 0, 6, states_41,
-	 "\000\000\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000"},
-	{298, "with_var", 0, 3, states_42,
+	{296, "for_stmt", 0, 10, states_40,
+	 "\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000"},
+	{297, "try_stmt", 0, 13, states_41,
+	 "\000\000\000\000\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\000"},
+	{298, "with_stmt", 0, 6, states_42,
+	 "\000\000\000\000\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000"},
+	{299, "with_var", 0, 3, states_43,
 	 "\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000"},
-	{299, "except_clause", 0, 5, states_43,
-	 "\000\000\000\000\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000"},
-	{300, "suite", 0, 5, states_44,
-	 "\004\040\040\000\000\000\000\124\360\024\114\000\000\040\010\000\200\041\044\015\000\001"},
-	{301, "testlist_safe", 0, 5, states_45,
-	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\040\010\000\200\041\044\015\000\000"},
-	{302, "old_test", 0, 2, states_46,
-	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\040\010\000\200\041\044\015\000\000"},
-	{303, "old_lambdef", 0, 5, states_47,
-	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000"},
-	{304, "test", 0, 6, states_48,
-	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\040\010\000\200\041\044\015\000\000"},
-	{305, "or_test", 0, 2, states_49,
-	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\010\000\200\041\044\015\000\000"},
-	{306, "and_test", 0, 2, states_50,
-	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\010\000\200\041\044\015\000\000"},
-	{307, "not_test", 0, 3, states_51,
-	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\010\000\200\041\044\015\000\000"},
-	{308, "comparison", 0, 2, states_52,
-	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\000\000\200\041\044\015\000\000"},
-	{309, "comp_op", 0, 4, states_53,
-	 "\000\000\000\000\000\000\000\000\000\000\040\000\000\000\310\077\000\000\000\000\000\000"},
-	{310, "expr", 0, 2, states_54,
-	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\000\000\200\041\044\015\000\000"},
-	{311, "xor_expr", 0, 2, states_55,
-	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\000\000\200\041\044\015\000\000"},
-	{312, "and_expr", 0, 2, states_56,
-	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\000\000\200\041\044\015\000\000"},
-	{313, "shift_expr", 0, 2, states_57,
-	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\000\000\200\041\044\015\000\000"},
-	{314, "arith_expr", 0, 2, states_58,
-	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\000\000\200\041\044\015\000\000"},
-	{315, "term", 0, 2, states_59,
-	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\000\000\200\041\044\015\000\000"},
-	{316, "factor", 0, 3, states_60,
-	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\000\000\200\041\044\015\000\000"},
-	{317, "power", 0, 4, states_61,
-	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\044\015\000\000"},
-	{318, "atom", 0, 11, states_62,
-	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\044\015\000\000"},
-	{319, "listmaker", 0, 5, states_63,
-	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\040\010\000\200\041\044\015\000\000"},
-	{320, "testlist_gexp", 0, 5, states_64,
-	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\040\010\000\200\041\044\015\000\000"},
-	{321, "lambdef", 0, 5, states_65,
-	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000"},
-	{322, "trailer", 0, 7, states_66,
-	 "\000\040\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\004\000\000\000"},
-	{323, "subscriptlist", 0, 3, states_67,
-	 "\000\040\240\000\000\000\000\000\000\040\000\000\000\040\010\000\200\041\044\015\000\000"},
-	{324, "subscript", 0, 7, states_68,
-	 "\000\040\240\000\000\000\000\000\000\040\000\000\000\040\010\000\200\041\044\015\000\000"},
-	{325, "sliceop", 0, 3, states_69,
+	{300, "except_clause", 0, 5, states_44,
+	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000"},
+	{301, "suite", 0, 5, states_45,
+	 "\004\040\040\000\000\000\000\124\360\024\114\000\000\200\040\000\000\206\220\064\000\004"},
+	{302, "testlist_safe", 0, 5, states_46,
+	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\200\040\000\000\206\220\064\000\000"},
+	{303, "old_test", 0, 2, states_47,
+	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\200\040\000\000\206\220\064\000\000"},
+	{304, "old_lambdef", 0, 5, states_48,
+	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000"},
+	{305, "test", 0, 6, states_49,
+	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\200\040\000\000\206\220\064\000\000"},
+	{306, "or_test", 0, 2, states_50,
+	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\040\000\000\206\220\064\000\000"},
+	{307, "and_test", 0, 2, states_51,
+	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\040\000\000\206\220\064\000\000"},
+	{308, "not_test", 0, 3, states_52,
+	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\040\000\000\206\220\064\000\000"},
+	{309, "comparison", 0, 2, states_53,
+	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\220\064\000\000"},
+	{310, "comp_op", 0, 4, states_54,
+	 "\000\000\000\000\000\000\000\000\000\000\040\000\000\000\040\377\000\000\000\000\000\000"},
+	{311, "expr", 0, 2, states_55,
+	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\220\064\000\000"},
+	{312, "xor_expr", 0, 2, states_56,
+	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\220\064\000\000"},
+	{313, "and_expr", 0, 2, states_57,
+	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\220\064\000\000"},
+	{314, "shift_expr", 0, 2, states_58,
+	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\220\064\000\000"},
+	{315, "arith_expr", 0, 2, states_59,
+	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\220\064\000\000"},
+	{316, "term", 0, 2, states_60,
+	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\220\064\000\000"},
+	{317, "factor", 0, 3, states_61,
+	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\220\064\000\000"},
+	{318, "power", 0, 4, states_62,
+	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\220\064\000\000"},
+	{319, "atom", 0, 11, states_63,
+	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\220\064\000\000"},
+	{320, "listmaker", 0, 5, states_64,
+	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\200\040\000\000\206\220\064\000\000"},
+	{321, "testlist_gexp", 0, 5, states_65,
+	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\200\040\000\000\206\220\064\000\000"},
+	{322, "lambdef", 0, 5, states_66,
+	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000"},
+	{323, "trailer", 0, 7, states_67,
+	 "\000\040\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\020\000\000\000"},
+	{324, "subscriptlist", 0, 3, states_68,
+	 "\000\040\240\000\000\000\000\000\000\040\000\000\000\200\040\000\000\206\220\064\000\000"},
+	{325, "subscript", 0, 7, states_69,
+	 "\000\040\240\000\000\000\000\000\000\040\000\000\000\200\040\000\000\206\220\064\000\000"},
+	{326, "sliceop", 0, 3, states_70,
 	 "\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{326, "exprlist", 0, 3, states_70,
-	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\000\000\200\041\044\015\000\000"},
-	{327, "testlist", 0, 3, states_71,
-	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\040\010\000\200\041\044\015\000\000"},
-	{328, "dictmaker", 0, 5, states_72,
-	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\040\010\000\200\041\044\015\000\000"},
-	{329, "classdef", 0, 8, states_73,
-	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000"},
-	{330, "arglist", 0, 8, states_74,
-	 "\000\040\040\300\000\000\000\000\000\000\000\000\000\040\010\000\200\041\044\015\000\000"},
-	{331, "argument", 0, 4, states_75,
-	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\040\010\000\200\041\044\015\000\000"},
-	{332, "list_iter", 0, 2, states_76,
-	 "\000\000\000\000\000\000\000\000\000\000\000\020\001\000\000\000\000\000\000\000\000\000"},
-	{333, "list_for", 0, 6, states_77,
-	 "\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000"},
-	{334, "list_if", 0, 4, states_78,
-	 "\000\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000"},
-	{335, "gen_iter", 0, 2, states_79,
-	 "\000\000\000\000\000\000\000\000\000\000\000\020\001\000\000\000\000\000\000\000\000\000"},
-	{336, "gen_for", 0, 6, states_80,
-	 "\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000"},
-	{337, "gen_if", 0, 4, states_81,
-	 "\000\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000"},
-	{338, "testlist1", 0, 2, states_82,
-	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\040\010\000\200\041\044\015\000\000"},
-	{339, "encoding_decl", 0, 2, states_83,
+	{327, "exprlist", 0, 3, states_71,
+	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\220\064\000\000"},
+	{328, "testlist", 0, 3, states_72,
+	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\200\040\000\000\206\220\064\000\000"},
+	{329, "dictmaker", 0, 5, states_73,
+	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\200\040\000\000\206\220\064\000\000"},
+	{330, "classdef", 0, 8, states_74,
+	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\010\000"},
+	{331, "arglist", 0, 8, states_75,
+	 "\000\040\040\300\000\000\000\000\000\000\000\000\000\200\040\000\000\206\220\064\000\000"},
+	{332, "argument", 0, 4, states_76,
+	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\200\040\000\000\206\220\064\000\000"},
+	{333, "list_iter", 0, 2, states_77,
+	 "\000\000\000\000\000\000\000\000\000\000\000\040\004\000\000\000\000\000\000\000\000\000"},
+	{334, "list_for", 0, 6, states_78,
+	 "\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000"},
+	{335, "list_if", 0, 4, states_79,
+	 "\000\000\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000"},
+	{336, "gen_iter", 0, 2, states_80,
+	 "\000\000\000\000\000\000\000\000\000\000\000\040\004\000\000\000\000\000\000\000\000\000"},
+	{337, "gen_for", 0, 6, states_81,
+	 "\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000"},
+	{338, "gen_if", 0, 4, states_82,
+	 "\000\000\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000"},
+	{339, "testlist1", 0, 2, states_83,
+	 "\000\040\040\000\000\000\000\000\000\000\000\000\000\200\040\000\000\206\220\064\000\000"},
+	{340, "encoding_decl", 0, 2, states_84,
 	 "\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-	{340, "yield_expr", 0, 3, states_84,
-	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001"},
+	{341, "yield_expr", 0, 3, states_85,
+	 "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004"},
 };
-static label labels[169] = {
+static label labels[171] = {
 	{0, "EMPTY"},
 	{256, 0},
 	{4, 0},
@@ -1975,26 +2000,26 @@
 	{267, 0},
 	{0, 0},
 	{258, 0},
-	{327, 0},
+	{328, 0},
 	{259, 0},
 	{50, 0},
 	{288, 0},
 	{7, 0},
-	{330, 0},
+	{331, 0},
 	{8, 0},
 	{260, 0},
 	{261, 0},
-	{329, 0},
+	{330, 0},
 	{262, 0},
 	{1, "def"},
 	{1, 0},
 	{263, 0},
 	{11, 0},
-	{300, 0},
+	{301, 0},
 	{264, 0},
 	{265, 0},
 	{22, 0},
-	{304, 0},
+	{305, 0},
 	{12, 0},
 	{16, 0},
 	{36, 0},
@@ -2011,7 +2036,7 @@
 	{290, 0},
 	{291, 0},
 	{271, 0},
-	{340, 0},
+	{341, 0},
 	{37, 0},
 	{38, 0},
 	{39, 0},
@@ -2027,7 +2052,7 @@
 	{1, "print"},
 	{35, 0},
 	{1, "del"},
-	{326, 0},
+	{327, 0},
 	{1, "pass"},
 	{276, 0},
 	{277, 0},
@@ -2050,40 +2075,42 @@
 	{285, 0},
 	{1, "global"},
 	{1, "exec"},
-	{310, 0},
+	{311, 0},
 	{1, "in"},
 	{1, "assert"},
 	{293, 0},
 	{294, 0},
-	{295, 0},
 	{296, 0},
 	{297, 0},
+	{298, 0},
+	{295, 0},
 	{1, "if"},
 	{1, "elif"},
 	{1, "else"},
 	{1, "while"},
+	{1, "unless"},
 	{1, "for"},
 	{1, "try"},
-	{299, 0},
+	{300, 0},
 	{1, "finally"},
 	{1, "with"},
-	{298, 0},
+	{299, 0},
 	{1, "except"},
 	{5, 0},
 	{6, 0},
-	{301, 0},
 	{302, 0},
-	{305, 0},
 	{303, 0},
+	{306, 0},
+	{304, 0},
 	{1, "lambda"},
-	{321, 0},
-	{306, 0},
+	{322, 0},
+	{307, 0},
 	{1, "or"},
-	{307, 0},
+	{308, 0},
 	{1, "and"},
 	{1, "not"},
-	{308, 0},
 	{309, 0},
+	{310, 0},
 	{20, 0},
 	{21, 0},
 	{28, 0},
@@ -2092,53 +2119,53 @@
 	{29, 0},
 	{29, 0},
 	{1, "is"},
-	{311, 0},
+	{312, 0},
 	{18, 0},
-	{312, 0},
+	{313, 0},
 	{33, 0},
-	{313, 0},
+	{314, 0},
 	{19, 0},
-	{314, 0},
+	{315, 0},
 	{34, 0},
-	{315, 0},
+	{316, 0},
 	{14, 0},
 	{15, 0},
-	{316, 0},
+	{317, 0},
 	{17, 0},
 	{24, 0},
 	{48, 0},
 	{32, 0},
-	{317, 0},
 	{318, 0},
-	{322, 0},
+	{319, 0},
+	{323, 0},
+	{321, 0},
+	{9, 0},
 	{320, 0},
-	{9, 0},
-	{319, 0},
 	{10, 0},
 	{26, 0},
-	{328, 0},
+	{329, 0},
 	{27, 0},
 	{25, 0},
-	{338, 0},
+	{339, 0},
 	{2, 0},
 	{3, 0},
-	{333, 0},
-	{336, 0},
-	{323, 0},
+	{334, 0},
+	{337, 0},
 	{324, 0},
 	{325, 0},
+	{326, 0},
 	{1, "class"},
-	{331, 0},
 	{332, 0},
-	{334, 0},
+	{333, 0},
 	{335, 0},
-	{337, 0},
-	{339, 0},
+	{336, 0},
+	{338, 0},
+	{340, 0},
 	{1, "yield"},
 };
 grammar _PyParser_Grammar = {
-	85,
+	86,
 	dfas,
-	{169, labels},
+	{171, labels},
 	256
 };
Index: Python/ast.c
===================================================================
--- Python/ast.c	(revision 66304)
+++ Python/ast.c	(working copy)
@@ -2803,6 +2803,25 @@
 }
 
 static stmt_ty
+ast_for_unless_stmt(struct compiling* c, const node *n)
+{
+    expr_ty test_expr;
+    asdl_seq *suite_seq;
+
+    /* unless_stmt: 'unless' test ':' suite */
+    REQ(n, unless_stmt);
+
+    test_expr = ast_for_expr(c, CHILD(n, 1));
+    if (test_expr == NULL)
+        return NULL;
+    suite_seq = ast_for_suite(c, CHILD(n, 3));
+    if (suite_seq == NULL)
+        return NULL;
+    
+    return Unless(test_expr, suite_seq, LINENO(n), n->n_col_offset, c->c_arena);
+}
+
+static stmt_ty
 ast_for_for_stmt(struct compiling *c, const node *n)
 {
     asdl_seq *_target, *seq = NULL, *suite_seq;
@@ -3105,6 +3124,8 @@
                 return ast_for_if_stmt(c, ch);
             case while_stmt:
                 return ast_for_while_stmt(c, ch);
+            case unless_stmt:
+                return ast_for_unless_stmt(c, ch);
             case for_stmt:
                 return ast_for_for_stmt(c, ch);
             case try_stmt:
Index: Python/compile.c
===================================================================
--- Python/compile.c	(revision 66304)
+++ Python/compile.c	(working copy)
@@ -1621,6 +1621,31 @@
 }
 
 static int
+compiler_unless(struct compiler *c, stmt_ty s)
+{
+    basicblock *end;
+    basicblock *next;
+
+    assert(s->kind == Unless_kind);
+
+    next = compiler_new_block(c);
+    if (next == NULL)
+        return 0;
+    end = compiler_new_block(c);
+    if (end == NULL)
+        return 0;
+    VISIT(c, expr, s->v.Unless.test);
+    ADDOP_JREL(c, JUMP_IF_TRUE, next);
+    ADDOP(c, POP_TOP);
+    VISIT_SEQ(c, stmt, s->v.Unless.body);
+    ADDOP_JREL(c, JUMP_FORWARD, end);
+    compiler_use_next_block(c, next);
+    ADDOP(c, POP_TOP);
+    compiler_use_next_block(c, end);
+    return 1;
+}
+
+static int
 compiler_for(struct compiler *c, stmt_ty s)
 {
 	basicblock *start, *cleanup, *end;
@@ -2141,6 +2166,8 @@
 		return compiler_while(c, s);
 	case If_kind:
 		return compiler_if(c, s);
+    case Unless_kind:
+        return compiler_unless(c, s);
 	case Raise_kind:
 		n = 0;
 		if (s->v.Raise.type) {
Index: Python/Python-ast.c
===================================================================
--- Python/Python-ast.c	(revision 66304)
+++ Python/Python-ast.c	(working copy)
@@ -89,6 +89,11 @@
         "body",
         "orelse",
 };
+static PyTypeObject *Unless_type;
+static char *Unless_fields[]={
+        "test",
+        "body",
+};
 static PyTypeObject *If_type;
 static char *If_fields[]={
         "test",
@@ -655,6 +660,8 @@
         if (!For_type) return 0;
         While_type = make_type("While", stmt_type, While_fields, 3);
         if (!While_type) return 0;
+        Unless_type = make_type("Unless", stmt_type, Unless_fields, 2);
+        if (!Unless_type) return 0;
         If_type = make_type("If", stmt_type, If_fields, 3);
         if (!If_type) return 0;
         With_type = make_type("With", stmt_type, With_fields, 3);
@@ -1180,6 +1187,27 @@
 }
 
 stmt_ty
+Unless(expr_ty test, asdl_seq * body, int lineno, int col_offset, PyArena
+       *arena)
+{
+        stmt_ty p;
+        if (!test) {
+                PyErr_SetString(PyExc_ValueError,
+                                "field test is required for Unless");
+                return NULL;
+        }
+        p = (stmt_ty)PyArena_Malloc(arena, sizeof(*p));
+        if (!p)
+                return NULL;
+        p->kind = Unless_kind;
+        p->v.Unless.test = test;
+        p->v.Unless.body = body;
+        p->lineno = lineno;
+        p->col_offset = col_offset;
+        return p;
+}
+
+stmt_ty
 If(expr_ty test, asdl_seq * body, asdl_seq * orelse, int lineno, int
    col_offset, PyArena *arena)
 {
@@ -2247,6 +2275,20 @@
                         goto failed;
                 Py_DECREF(value);
                 break;
+        case Unless_kind:
+                result = PyType_GenericNew(Unless_type, NULL, NULL);
+                if (!result) goto failed;
+                value = ast2obj_expr(o->v.Unless.test);
+                if (!value) goto failed;
+                if (PyObject_SetAttrString(result, "test", value) == -1)
+                        goto failed;
+                Py_DECREF(value);
+                value = ast2obj_list(o->v.Unless.body, ast2obj_stmt);
+                if (!value) goto failed;
+                if (PyObject_SetAttrString(result, "body", value) == -1)
+                        goto failed;
+                Py_DECREF(value);
+                break;
         case If_kind:
                 result = PyType_GenericNew(If_type, NULL, NULL);
                 if (!result) goto failed;
@@ -3864,6 +3906,51 @@
                 if (*out == NULL) goto failed;
                 return 0;
         }
+        if (PyObject_IsInstance(obj, (PyObject*)Unless_type)) {
+                expr_ty test;
+                asdl_seq* body;
+
+                if (PyObject_HasAttrString(obj, "test")) {
+                        int res;
+                        tmp = PyObject_GetAttrString(obj, "test");
+                        if (tmp == NULL) goto failed;
+                        res = obj2ast_expr(tmp, &test, arena);
+                        if (res != 0) goto failed;
+                        Py_XDECREF(tmp);
+                        tmp = NULL;
+                } else {
+                        PyErr_SetString(PyExc_TypeError, "required field \"test\" missing from Unless");
+                        return 1;
+                }
+                if (PyObject_HasAttrString(obj, "body")) {
+                        int res;
+                        Py_ssize_t len;
+                        Py_ssize_t i;
+                        tmp = PyObject_GetAttrString(obj, "body");
+                        if (tmp == NULL) goto failed;
+                        if (!PyList_Check(tmp)) {
+                                PyErr_Format(PyExc_TypeError, "Unless field \"body\" must be a list, not a %.200s", tmp->ob_type->tp_name);
+                                goto failed;
+                        }
+                        len = PyList_GET_SIZE(tmp);
+                        body = asdl_seq_new(len, arena);
+                        if (body == NULL) goto failed;
+                        for (i = 0; i < len; i++) {
+                                stmt_ty value;
+                                res = obj2ast_stmt(PyList_GET_ITEM(tmp, i), &value, arena);
+                                if (res != 0) goto failed;
+                                asdl_seq_SET(body, i, value);
+                        }
+                        Py_XDECREF(tmp);
+                        tmp = NULL;
+                } else {
+                        PyErr_SetString(PyExc_TypeError, "required field \"body\" missing from Unless");
+                        return 1;
+                }
+                *out = Unless(test, body, lineno, col_offset, arena);
+                if (*out == NULL) goto failed;
+                return 0;
+        }
         if (PyObject_IsInstance(obj, (PyObject*)If_type)) {
                 expr_ty test;
                 asdl_seq* body;
@@ -5958,6 +6045,8 @@
         if (PyDict_SetItemString(d, "Print", (PyObject*)Print_type) < 0) return;
         if (PyDict_SetItemString(d, "For", (PyObject*)For_type) < 0) return;
         if (PyDict_SetItemString(d, "While", (PyObject*)While_type) < 0) return;
+        if (PyDict_SetItemString(d, "Unless", (PyObject*)Unless_type) < 0)
+            return;
         if (PyDict_SetItemString(d, "If", (PyObject*)If_type) < 0) return;
         if (PyDict_SetItemString(d, "With", (PyObject*)With_type) < 0) return;
         if (PyDict_SetItemString(d, "Raise", (PyObject*)Raise_type) < 0) return;
Index: Include/graminit.h
===================================================================
--- Include/graminit.h	(revision 66304)
+++ Include/graminit.h	(working copy)
@@ -39,49 +39,50 @@
 #define compound_stmt 292
 #define if_stmt 293
 #define while_stmt 294
-#define for_stmt 295
-#define try_stmt 296
-#define with_stmt 297
-#define with_var 298
-#define except_clause 299
-#define suite 300
-#define testlist_safe 301
-#define old_test 302
-#define old_lambdef 303
-#define test 304
-#define or_test 305
-#define and_test 306
-#define not_test 307
-#define comparison 308
-#define comp_op 309
-#define expr 310
-#define xor_expr 311
-#define and_expr 312
-#define shift_expr 313
-#define arith_expr 314
-#define term 315
-#define factor 316
-#define power 317
-#define atom 318
-#define listmaker 319
-#define testlist_gexp 320
-#define lambdef 321
-#define trailer 322
-#define subscriptlist 323
-#define subscript 324
-#define sliceop 325
-#define exprlist 326
-#define testlist 327
-#define dictmaker 328
-#define classdef 329
-#define arglist 330
-#define argument 331
-#define list_iter 332
-#define list_for 333
-#define list_if 334
-#define gen_iter 335
-#define gen_for 336
-#define gen_if 337
-#define testlist1 338
-#define encoding_decl 339
-#define yield_expr 340
+#define unless_stmt 295
+#define for_stmt 296
+#define try_stmt 297
+#define with_stmt 298
+#define with_var 299
+#define except_clause 300
+#define suite 301
+#define testlist_safe 302
+#define old_test 303
+#define old_lambdef 304
+#define test 305
+#define or_test 306
+#define and_test 307
+#define not_test 308
+#define comparison 309
+#define comp_op 310
+#define expr 311
+#define xor_expr 312
+#define and_expr 313
+#define shift_expr 314
+#define arith_expr 315
+#define term 316
+#define factor 317
+#define power 318
+#define atom 319
+#define listmaker 320
+#define testlist_gexp 321
+#define lambdef 322
+#define trailer 323
+#define subscriptlist 324
+#define subscript 325
+#define sliceop 326
+#define exprlist 327
+#define testlist 328
+#define dictmaker 329
+#define classdef 330
+#define arglist 331
+#define argument 332
+#define list_iter 333
+#define list_for 334
+#define list_if 335
+#define gen_iter 336
+#define gen_for 337
+#define gen_if 338
+#define testlist1 339
+#define encoding_decl 340
+#define yield_expr 341
Index: Include/Python-ast.h
===================================================================
--- Include/Python-ast.h	(revision 66304)
+++ Include/Python-ast.h	(working copy)
@@ -61,11 +61,11 @@
 
 enum _stmt_kind {FunctionDef_kind=1, ClassDef_kind=2, Return_kind=3,
                   Delete_kind=4, Assign_kind=5, AugAssign_kind=6, Print_kind=7,
-                  For_kind=8, While_kind=9, If_kind=10, With_kind=11,
-                  Raise_kind=12, TryExcept_kind=13, TryFinally_kind=14,
-                  Assert_kind=15, Import_kind=16, ImportFrom_kind=17,
-                  Exec_kind=18, Global_kind=19, Expr_kind=20, Pass_kind=21,
-                  Break_kind=22, Continue_kind=23};
+                  For_kind=8, While_kind=9, Unless_kind=10, If_kind=11,
+                  With_kind=12, Raise_kind=13, TryExcept_kind=14,
+                  TryFinally_kind=15, Assert_kind=16, Import_kind=17,
+                  ImportFrom_kind=18, Exec_kind=19, Global_kind=20,
+                  Expr_kind=21, Pass_kind=22, Break_kind=23, Continue_kind=24};
 struct _stmt {
         enum _stmt_kind kind;
         union {
@@ -124,6 +124,11 @@
                 struct {
                         expr_ty test;
                         asdl_seq *body;
+                } Unless;
+                
+                struct {
+                        expr_ty test;
+                        asdl_seq *body;
                         asdl_seq *orelse;
                 } If;
                 
@@ -393,6 +398,9 @@
 #define While(a0, a1, a2, a3, a4, a5) _Py_While(a0, a1, a2, a3, a4, a5)
 stmt_ty _Py_While(expr_ty test, asdl_seq * body, asdl_seq * orelse, int lineno,
                   int col_offset, PyArena *arena);
+#define Unless(a0, a1, a2, a3, a4) _Py_Unless(a0, a1, a2, a3, a4)
+stmt_ty _Py_Unless(expr_ty test, asdl_seq * body, int lineno, int col_offset,
+                   PyArena *arena);
 #define If(a0, a1, a2, a3, a4, a5) _Py_If(a0, a1, a2, a3, a4, a5)
 stmt_ty _Py_If(expr_ty test, asdl_seq * body, asdl_seq * orelse, int lineno,
                int col_offset, PyArena *arena);
Index: Grammar/Grammar
===================================================================
--- Grammar/Grammar	(revision 66304)
+++ Grammar/Grammar	(working copy)
@@ -74,9 +74,10 @@
 exec_stmt: 'exec' expr ['in' test [',' test]]
 assert_stmt: 'assert' test [',' test]
 
-compound_stmt: if_stmt | while_stmt | for_stmt | try_stmt | with_stmt | funcdef | classdef | decorated
+compound_stmt: if_stmt | while_stmt | for_stmt | try_stmt | with_stmt | funcdef | classdef | decorated | unless_stmt
 if_stmt: 'if' test ':' suite ('elif' test ':' suite)* ['else' ':' suite]
 while_stmt: 'while' test ':' suite ['else' ':' suite]
+unless_stmt: 'unless' test ':' suite
 for_stmt: 'for' exprlist 'in' testlist ':' suite ['else' ':' suite]
 try_stmt: ('try' ':' suite
            ((except_clause ':' suite)+
Index: Parser/Python.asdl
===================================================================
--- Parser/Python.asdl	(revision 66304)
+++ Parser/Python.asdl	(working copy)
@@ -24,6 +24,7 @@
 	      -- use 'orelse' because else is a keyword in target languages
 	      | For(expr target, expr iter, stmt* body, stmt* orelse)
 	      | While(expr test, stmt* body, stmt* orelse)
+	      | Unless(expr test, stmt* body)
 	      | If(expr test, stmt* body, stmt* orelse)
 	      | With(expr context_expr, expr? optional_vars, stmt* body)
 
