[Python-checkins] CVS: python/dist/src/Include parsetok.h,2.15,2.16 pythonrun.h,2.42,2.43

Tim Peters tim_one@users.sourceforge.net
2001年7月15日 22:37:26 -0700


Update of /cvsroot/python/python/dist/src/Include
In directory usw-pr-cvs1:/tmp/cvs-serv22251/python/dist/src/Include
Modified Files:
	parsetok.h pythonrun.h 
Log Message:
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())
Index: parsetok.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/parsetok.h,v
retrieving revision 2.15
retrieving revision 2.16
diff -C2 -r2.15 -r2.16
*** parsetok.h	2000年09月01日 23:29:26	2.15
--- parsetok.h	2001年07月16日 05:37:24	2.16
***************
*** 18,25 ****
--- 18,33 ----
 } 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
Index: pythonrun.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/pythonrun.h,v
retrieving revision 2.42
retrieving revision 2.43
diff -C2 -r2.42 -r2.43
*** pythonrun.h	2001年07月16日 02:29:45	2.42
--- pythonrun.h	2001年07月16日 05:37:24	2.43
***************
*** 46,49 ****
--- 46,52 ----
 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 *);

AltStyle によって変換されたページ (->オリジナル) /