[Python-checkins] CVS: python/dist/src/Lib dis.py,1.33,1.34
Guido van Rossum
gvanrossum@users.sourceforge.net
Fri, 20 Apr 2001 12:13:04 -0700
- Previous message: [Python-checkins] CVS: python/dist/src/Include Python.h,2.31,2.32 abstract.h,2.29,2.30 object.h,2.77,2.78 opcode.h,2.34,2.35 pyerrors.h,2.44,2.45
- Next message: [Python-checkins] CVS: python/dist/src/Objects abstract.c,2.58,2.59 classobject.c,2.125,2.126 dictobject.c,2.78,2.79 stringobject.c,2.102,2.103
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/python/python/dist/src/Lib
In directory usw-pr-cvs1:/tmp/cvs-serv31661/Lib
Modified Files:
dis.py
Log Message:
Iterators phase 1. This comprises:
new slot tp_iter in type object, plus new flag Py_TPFLAGS_HAVE_ITER
new C API PyObject_GetIter(), calls tp_iter
new builtin iter(), with two forms: iter(obj), and iter(function, sentinel)
new internal object types iterobject and calliterobject
new exception StopIteration
new opcodes for "for" loops, GET_ITER and FOR_ITER (also supported by dis.py)
new magic number for .pyc files
new special method for instances: __iter__() returns an iterator
iteration over dictionaries: "for x in dict" iterates over the keys
iteration over files: "for x in file" iterates over lines
TODO:
documentation
test suite
decide whether to use a different way to spell iter(function, sentinal)
decide whether "for key in dict" is a good idea
use iterators in map/filter/reduce, min/max, and elsewhere (in/not in?)
speed tuning (make next() a slot tp_next???)
Index: dis.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/dis.py,v
retrieving revision 1.33
retrieving revision 1.34
diff -C2 -r1.33 -r1.34
*** dis.py 2001/02/09 08:17:37 1.33
--- dis.py 2001/04/20 19:13:01 1.34
***************
*** 206,209 ****
--- 206,210 ----
def_op('BINARY_OR', 66)
def_op('INPLACE_POWER', 67)
+ def_op('GET_ITER', 68)
def_op('PRINT_EXPR', 70)
***************
*** 233,236 ****
--- 234,238 ----
name_op('DELETE_NAME', 91) # ""
def_op('UNPACK_SEQUENCE', 92) # Number of tuple items
+ def_op('FOR_ITER', 93)
name_op('STORE_ATTR', 95) # Index in name list
- Previous message: [Python-checkins] CVS: python/dist/src/Include Python.h,2.31,2.32 abstract.h,2.29,2.30 object.h,2.77,2.78 opcode.h,2.34,2.35 pyerrors.h,2.44,2.45
- Next message: [Python-checkins] CVS: python/dist/src/Objects abstract.c,2.58,2.59 classobject.c,2.125,2.126 dictobject.c,2.78,2.79 stringobject.c,2.102,2.103
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]