Ugly.  A pile of new xxxFlags() functions, to communicate to the parser
that 'yield' is a keyword.  This doesn't help test_generators at all!  I
don't know why not.  These things do work now (and didn't before this
patch):

1. "from __future__ import generators" now works in a native shell.

2. Similarly "python -i xxx.py" now has generators enabled in the
   shell if xxx.py had them enabled.

3. This program (which was my doctest proxy) works fine:

from __future__ import generators

source = """\
def f():
    yield 1
"""

exec compile(source, "", "single") in globals()
print type(f())
diff --git a/Include/parsetok.h b/Include/parsetok.h
index aebc83c..66359d42 100644
--- a/Include/parsetok.h
+++ b/Include/parsetok.h
@@ -17,11 +17,19 @@
     int expected;
 } perrdetail;
 
+#define PyPARSE_YIELD_IS_KEYWORD	0x0001
+
 extern DL_IMPORT(node *) PyParser_ParseString(char *, grammar *, int,
                                               perrdetail *);
 extern DL_IMPORT(node *) PyParser_ParseFile (FILE *, char *, grammar *, int,
                                              char *, char *, perrdetail *);
 
+extern DL_IMPORT(node *) PyParser_ParseStringFlags(char *, grammar *, int,
+                                              perrdetail *, int);
+extern DL_IMPORT(node *) PyParser_ParseFileFlags(FILE *, char *, grammar *,
+						 int, char *, char *,
+						 perrdetail *, int);
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/Include/pythonrun.h b/Include/pythonrun.h
index 3877a82..6e9821b 100644
--- a/Include/pythonrun.h
+++ b/Include/pythonrun.h
@@ -45,6 +45,9 @@
 
 DL_IMPORT(struct _node *) PyParser_SimpleParseString(char *, int);
 DL_IMPORT(struct _node *) PyParser_SimpleParseFile(FILE *, char *, int);
+DL_IMPORT(struct _node *) PyParser_SimpleParseStringFlags(char *, int, int);
+DL_IMPORT(struct _node *) PyParser_SimpleParseFileFlags(FILE *, char *,
+							int, int);
 
 DL_IMPORT(PyObject *) PyRun_String(char *, int, PyObject *, PyObject *);
 DL_IMPORT(PyObject *) PyRun_File(FILE *, char *, int, PyObject *, PyObject *);