mirror of
https://github.com/python/cpython.git
synced 2025-11-01 10:45:30 +00:00
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())
This commit is contained in:
parent
e75785a646
commit
fe2127d3cb
5 changed files with 69 additions and 18 deletions
|
|
@ -17,11 +17,19 @@ typedef struct {
|
|||
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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue