diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index c2c2966..dc65ffb 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -28,7 +28,6 @@
 
 #include "node.h"
 #include "graminit.h"
-#include "errcode.h"
 #include "sysmodule.h"
 #include "bltinmodule.h"
 #include "import.h"
diff --git a/Python/ceval.c b/Python/ceval.c
index 8698e85..1c12d9c 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -1964,6 +1964,8 @@
 	INCREF(w);
 	return w;
 }
+
+
 /* External interface to call any callable object. The arg may be NULL. */
 
 object *
diff --git a/Python/cgensupport.c b/Python/cgensupport.c
index 5dcac86..87fcfab 100644
--- a/Python/cgensupport.c
+++ b/Python/cgensupport.c
@@ -28,17 +28,6 @@
 #include "cgensupport.h"
 
 
-/* Functions to construct return values */
-
-object *
-mknewcharobject(c)
-	int c;
-{
-	char ch[1];
-	ch[0] = c;
-	return newsizedstringobject(ch, 1);
-}
-
 /* Functions to extract arguments.
    These needs to know the total number of arguments supplied,
    since the argument list is a tuple only of there is more than
diff --git a/Python/graminit.c b/Python/graminit.c
index 530ddf3..3b78d0c 100644
--- a/Python/graminit.c
+++ b/Python/graminit.c
@@ -393,26 +393,35 @@
 static arc arcs_23_0[1] = {
 	{51, 1},
 };
-static arc arcs_23_1[1] = {
-	{13, 2},
+static arc arcs_23_1[2] = {
+	{22, 2},
+	{13, 3},
 };
-static arc arcs_23_2[2] = {
-	{21, 1},
-	{15, 3},
+static arc arcs_23_2[1] = {
+	{15, 4},
 };
-static arc arcs_23_3[1] = {
-	{52, 4},
+static arc arcs_23_3[2] = {
+	{21, 5},
+	{15, 4},
 };
-static arc arcs_23_4[2] = {
-	{21, 3},
-	{0, 4},
+static arc arcs_23_4[1] = {
+	{52, 6},
 };
-static state states_23[5] = {
+static arc arcs_23_5[1] = {
+	{13, 3},
+};
+static arc arcs_23_6[2] = {
+	{21, 4},
+	{0, 6},
+};
+static state states_23[7] = {
 	{1, arcs_23_0},
-	{1, arcs_23_1},
-	{2, arcs_23_2},
-	{1, arcs_23_3},
-	{2, arcs_23_4},
+	{2, arcs_23_1},
+	{1, arcs_23_2},
+	{2, arcs_23_3},
+	{1, arcs_23_4},
+	{1, arcs_23_5},
+	{2, arcs_23_6},
 };
 static arc arcs_24_0[1] = {
 	{13, 1},
@@ -1057,7 +1066,7 @@
 	 "\000\000\000\000\000\000\003\000\000\000\000\000\000\000\000"},
 	{278, "global_stmt", 0, 3, states_22,
 	 "\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000"},
-	{279, "access_stmt", 0, 5, states_23,
+	{279, "access_stmt", 0, 7, states_23,
 	 "\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000"},
 	{280, "accesstype", 0, 2, states_24,
 	 "\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000"},
