with and as are now keywords.  There are some generated files I can't recreate.
diff --git a/Python/ast.c b/Python/ast.c
index 4883cc2..9e0c184 100644
--- a/Python/ast.c
+++ b/Python/ast.c
@@ -2190,10 +2190,6 @@
         case import_as_name:
             str = NULL;
             if (NCH(n) == 3) {
-                if (strcmp(STR(CHILD(n, 1)), "as") != 0) {
-                    ast_error(n, "must use 'as' in import");
-                    return NULL;
-                }
                 str = NEW_IDENTIFIER(CHILD(n, 2));
             }
             return alias(NEW_IDENTIFIER(CHILD(n, 0)), str, c->c_arena);
@@ -2206,10 +2202,6 @@
                 alias_ty a = alias_for_import_name(c, CHILD(n, 0));
                 if (!a)
                     return NULL;
-                if (strcmp(STR(CHILD(n, 1)), "as") != 0) {
-                    ast_error(n, "must use 'as' in import");
-                    return NULL;
-                }
                 assert(!a->asname);
                 a->asname = NEW_IDENTIFIER(CHILD(n, 2));
                 return a;
@@ -2848,10 +2840,6 @@
 ast_for_with_var(struct compiling *c, const node *n)
 {
     REQ(n, with_var);
-    if (strcmp(STR(CHILD(n, 0)), "as") != 0) {
-        ast_error(n, "expected \"with [expr] as [var]\"");
-        return NULL;
-    }
     return ast_for_expr(c, CHILD(n, 1));
 }
 
diff --git a/Python/graminit.c b/Python/graminit.c
index 8f20502..33ef64b 100644
--- a/Python/graminit.c
+++ b/Python/graminit.c
@@ -551,9 +551,8 @@
 static arc arcs_27_0[1] = {
 	{19, 1},
 };
-static arc arcs_27_1[3] = {
+static arc arcs_27_1[2] = {
 	{78, 2},
-	{19, 2},
 	{0, 1},
 };
 static arc arcs_27_2[1] = {
@@ -564,16 +563,15 @@
 };
 static state states_27[4] = {
 	{1, arcs_27_0},
-	{3, arcs_27_1},
+	{2, arcs_27_1},
 	{1, arcs_27_2},
 	{1, arcs_27_3},
 };
 static arc arcs_28_0[1] = {
 	{12, 1},
 };
-static arc arcs_28_1[3] = {
+static arc arcs_28_1[2] = {
 	{78, 2},
-	{19, 2},
 	{0, 1},
 };
 static arc arcs_28_2[1] = {
@@ -584,7 +582,7 @@
 };
 static state states_28[4] = {
 	{1, arcs_28_0},
-	{3, arcs_28_1},
+	{2, arcs_28_1},
 	{1, arcs_28_2},
 	{1, arcs_28_3},
 };
@@ -912,9 +910,8 @@
 	{1, arcs_40_4},
 	{1, arcs_40_5},
 };
-static arc arcs_41_0[2] = {
+static arc arcs_41_0[1] = {
 	{78, 1},
-	{19, 1},
 };
 static arc arcs_41_1[1] = {
 	{82, 2},
@@ -923,7 +920,7 @@
 	{0, 2},
 };
 static state states_41[3] = {
-	{2, arcs_41_0},
+	{1, arcs_41_0},
 	{1, arcs_41_1},
 	{1, arcs_41_2},
 };
@@ -1865,7 +1862,7 @@
 	{296, "with_stmt", 0, 6, states_40,
 	 "\000\000\000\000\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000"},
 	{297, "with_var", 0, 3, states_41,
-	 "\000\000\010\000\000\000\000\000\000\100\000\000\000\000\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\000\000\000"},
 	{298, "except_clause", 0, 5, states_42,
 	 "\000\000\000\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000"},
 	{299, "suite", 0, 5, states_43,
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index e8f4fa2..634572e 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -725,9 +725,16 @@
 /* compute parser flags based on compiler flags */
 #define PARSER_FLAGS(flags) \
 	((flags) ? ((((flags)->cf_flags & PyCF_DONT_IMPLY_DEDENT) ? \
+		      PyPARSE_DONT_IMPLY_DEDENT : 0)) : 0)
+
+#if 0
+/* Keep an example of flags with future keyword support. */
+#define PARSER_FLAGS(flags) \
+	((flags) ? ((((flags)->cf_flags & PyCF_DONT_IMPLY_DEDENT) ? \
 		      PyPARSE_DONT_IMPLY_DEDENT : 0) \
 		    | ((flags)->cf_flags & CO_FUTURE_WITH_STATEMENT ? \
 		       PyPARSE_WITH_IS_KEYWORD : 0)) : 0)
+#endif
 
 int
 PyRun_InteractiveOneFlags(FILE *fp, const char *filename, PyCompilerFlags *flags)