PEP 342 implementation.  Per Guido's comments, the generator throw()
method still needs to support string exceptions, and allow None for the
third argument.  Documentation updates are needed, too.
diff --git a/Include/ceval.h b/Include/ceval.h
index d9320e0..9481506 100644
--- a/Include/ceval.h
+++ b/Include/ceval.h
@@ -65,6 +65,7 @@
 
 PyAPI_FUNC(PyObject *) PyEval_GetCallStats(PyObject *);
 PyAPI_FUNC(PyObject *) PyEval_EvalFrame(struct _frame *);
+PyAPI_FUNC(PyObject *) PyEval_EvalFrameEx(struct _frame *f, int exc);
 
 /* this used to be handled on a per-thread basis - now just two globals */
 PyAPI_DATA(volatile int) _Py_Ticker;
diff --git a/Include/graminit.h b/Include/graminit.h
index a46cdc9..2c855ea 100644
--- a/Include/graminit.h
+++ b/Include/graminit.h
@@ -76,3 +76,4 @@
 #define gen_if 331
 #define testlist1 332
 #define encoding_decl 333
+#define yield_expr 334
diff --git a/Include/pyerrors.h b/Include/pyerrors.h
index f433cc0..f18e579 100644
--- a/Include/pyerrors.h
+++ b/Include/pyerrors.h
@@ -25,6 +25,7 @@
 
 PyAPI_DATA(PyObject *) PyExc_Exception;
 PyAPI_DATA(PyObject *) PyExc_StopIteration;
+PyAPI_DATA(PyObject *) PyExc_GeneratorExit;
 PyAPI_DATA(PyObject *) PyExc_StandardError;
 PyAPI_DATA(PyObject *) PyExc_ArithmeticError;
 PyAPI_DATA(PyObject *) PyExc_LookupError;