[Python-checkins] python/dist/src/Lib/compiler ast.py, 1.21.2.1, 1.21.2.2 transformer.py, 1.34.2.2, 1.34.2.3
jhylton@users.sourceforge.net
jhylton at users.sourceforge.net
Sun Oct 16 07:24:33 CEST 2005
- Previous message: [Python-checkins] python/dist/src/Include abstract.h, 2.44.2.2, 2.44.2.3 ceval.h, 2.44.18.2, 2.44.18.3 errcode.h, 2.14.28.1, 2.14.28.2 floatobject.h, 2.20.14.1, 2.20.14.2 graminit.h, 2.19.2.2, 2.19.2.3 import.h, 2.27.28.2, 2.27.28.3 marshal.h, 2.11.26.2, 2.11.26.3 modsupport.h, 2.38.10.2, 2.38.10.3 object.h, 2.101.2.2, 2.101.2.3 objimpl.h, 2.55.2.2, 2.55.2.3 pyerrors.h, 2.54.2.3, 2.54.2.4 pyport.h, 2.51.2.3, 2.51.2.4 pystate.h, 2.18.18.2, 2.18.18.3 pythonrun.h, 2.49.2.8, 2.49.2.9 setobject.h, 2.5.4.1, 2.5.4.2 structmember.h, 2.19.8.2, 2.19.8.3 unicodeobject.h, 2.38.2.2, 2.38.2.3
- Next message: [Python-checkins] python/dist/src/Lib/distutils/tests test_versionpredicate.py, NONE, 1.2.2.2 test_dist.py, 1.1.4.1, 1.1.4.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/python/python/dist/src/Lib/compiler
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27718/Lib/compiler
Modified Files:
Tag: ast-branch
ast.py transformer.py
Log Message:
Merge head to branch (for the last time)
Index: ast.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/compiler/ast.py,v
retrieving revision 1.21.2.1
retrieving revision 1.21.2.2
diff -u -d -r1.21.2.1 -r1.21.2.2
--- ast.py 7 Jan 2005 06:58:13 -0000 1.21.2.1
+++ ast.py 16 Oct 2005 05:23:59 -0000 1.21.2.2
@@ -4,9 +4,9 @@
"""
from consts import CO_VARARGS, CO_VARKEYWORDS
-def flatten(list):
+def flatten(seq):
l = []
- for elt in list:
+ for elt in seq:
t = type(elt)
if t is tuple or t is list:
for elt2 in flatten(elt):
@@ -15,8 +15,8 @@
l.append(elt)
return l
-def flatten_nodes(list):
- return [n for n in flatten(list) if isinstance(n, Node)]
+def flatten_nodes(seq):
+ return [n for n in flatten(seq) if isinstance(n, Node)]
nodes = {}
Index: transformer.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/compiler/transformer.py,v
retrieving revision 1.34.2.2
retrieving revision 1.34.2.3
diff -u -d -r1.34.2.2 -r1.34.2.3
--- transformer.py 7 Jan 2005 06:58:13 -0000 1.34.2.2
+++ transformer.py 16 Oct 2005 05:23:59 -0000 1.34.2.3
@@ -89,7 +89,7 @@
print nodes[kind], len(args), args
raise
else:
- raise WalkerEror, "Can't find appropriate Node type: %s" % str(args)
+ raise WalkerError, "Can't find appropriate Node type: %s" % str(args)
#return apply(ast.Node, args)
class Transformer:
@@ -165,7 +165,7 @@
if n == symbol.classdef:
return self.classdef(node[1:])
- raise WalkerEror, ('unexpected node type', n)
+ raise WalkerError, ('unexpected node type', n)
def single_input(self, node):
### do we want to do anything about being "interactive" ?
@@ -280,12 +280,14 @@
return Lambda(names, defaults, flags, code, lineno=nodelist[1][2])
def classdef(self, nodelist):
- # classdef: 'class' NAME ['(' testlist ')'] ':' suite
+ # classdef: 'class' NAME ['(' [testlist] ')'] ':' suite
name = nodelist[1][1]
doc = self.get_docstring(nodelist[-1])
if nodelist[2][0] == token.COLON:
bases = []
+ elif nodelist[3][0] == token.RPAR:
+ bases = []
else:
bases = self.com_bases(nodelist[3])
@@ -314,31 +316,31 @@
return Stmt(stmts)
def parameters(self, nodelist):
- raise WalkerEror
+ raise WalkerError
def varargslist(self, nodelist):
- raise WalkerEror
+ raise WalkerError
def fpdef(self, nodelist):
- raise WalkerEror
+ raise WalkerError
def fplist(self, nodelist):
- raise WalkerEror
+ raise WalkerError
def dotted_name(self, nodelist):
- raise WalkerEror
+ raise WalkerError
def comp_op(self, nodelist):
- raise WalkerEror
+ raise WalkerError
def trailer(self, nodelist):
- raise WalkerEror
+ raise WalkerError
def sliceop(self, nodelist):
- raise WalkerEror
+ raise WalkerError
def argument(self, nodelist):
- raise WalkerEror
+ raise WalkerError
# --------------------------------------------------------------
#
@@ -401,7 +403,15 @@
return Return(self.com_node(nodelist[1]), lineno=nodelist[0][2])
def yield_stmt(self, nodelist):
- return Yield(self.com_node(nodelist[1]), lineno=nodelist[0][2])
+ expr = self.com_node(nodelist[0])
+ return Discard(expr, lineno=expr.lineno)
+
+ def yield_expr(self, nodelist):
+ if len(nodelist)>1:
+ value = nodelist[1]
+ else:
+ value = Const(None)
+ return Yield(self.com_node(value), lineno=nodelist[0][2])
def raise_stmt(self, nodelist):
# raise: [test [',' test [',' test]]]
@@ -1400,6 +1410,8 @@
if hasattr(symbol, 'yield_stmt'):
_legal_node_types.append(symbol.yield_stmt)
+if hasattr(symbol, 'yield_expr'):
+ _legal_node_types.append(symbol.yield_expr)
_assign_types = [
symbol.test,
- Previous message: [Python-checkins] python/dist/src/Include abstract.h, 2.44.2.2, 2.44.2.3 ceval.h, 2.44.18.2, 2.44.18.3 errcode.h, 2.14.28.1, 2.14.28.2 floatobject.h, 2.20.14.1, 2.20.14.2 graminit.h, 2.19.2.2, 2.19.2.3 import.h, 2.27.28.2, 2.27.28.3 marshal.h, 2.11.26.2, 2.11.26.3 modsupport.h, 2.38.10.2, 2.38.10.3 object.h, 2.101.2.2, 2.101.2.3 objimpl.h, 2.55.2.2, 2.55.2.3 pyerrors.h, 2.54.2.3, 2.54.2.4 pyport.h, 2.51.2.3, 2.51.2.4 pystate.h, 2.18.18.2, 2.18.18.3 pythonrun.h, 2.49.2.8, 2.49.2.9 setobject.h, 2.5.4.1, 2.5.4.2 structmember.h, 2.19.8.2, 2.19.8.3 unicodeobject.h, 2.38.2.2, 2.38.2.3
- Next message: [Python-checkins] python/dist/src/Lib/distutils/tests test_versionpredicate.py, NONE, 1.2.2.2 test_dist.py, 1.1.4.1, 1.1.4.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Python-checkins
mailing list