[Python-checkins] python/dist/src/Tools/compiler ast.txt, 1.5, 1.6 astgen.py, 1.7, 1.8 regrtest.py, 1.4, 1.5

anthonybaxter at users.sourceforge.net anthonybaxter at users.sourceforge.net
Mon Aug 2 08:10:13 CEST 2004


Update of /cvsroot/python/python/dist/src/Tools/compiler
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6086/Tools/compiler
Modified Files:
	ast.txt astgen.py regrtest.py 
Log Message:
PEP-0318, @decorator-style. In Guido's words:
"@ seems the syntax that everybody can hate equally"
Implementation by Mark Russell, from SF #979728.
Index: ast.txt
===================================================================
RCS file: /cvsroot/python/python/dist/src/Tools/compiler/ast.txt,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** ast.txt	19 May 2004 08:20:33 -0000	1.5
--- ast.txt	2 Aug 2004 06:10:11 -0000	1.6
***************
*** 9,13 ****
 Module: doc*, node
 Stmt: nodes!
! Function: name*, argnames*, defaults!, flags*, doc*, code
 Lambda: argnames*, defaults!, flags*, code
 Class: name*, bases!, doc*, code
--- 9,14 ----
 Module: doc*, node
 Stmt: nodes!
! Decorators: nodes!
! Function: decorators&, name*, argnames*, defaults!, flags*, doc*, code
 Lambda: argnames*, defaults!, flags*, code
 Class: name*, bases!, doc*, code
Index: astgen.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Tools/compiler/astgen.py,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** astgen.py	18 Jul 2004 06:02:02 -0000	1.7
--- astgen.py	2 Aug 2004 06:10:11 -0000	1.8
***************
*** 155,164 ****
 print >> buf, " return %s" % COMMA.join(clist)
 else:
! print >> buf, " nodes = []"
! template = " nodes.%s(%sself.%s%s)"
 for name in self.argnames:
 if self.argprops[name] == P_NONE:
 tmp = (" if self.%s is not None:"
! " nodes.append(self.%s)")
 print >> buf, tmp % (name, name)
 elif self.argprops[name] == P_NESTED:
--- 155,164 ----
 print >> buf, " return %s" % COMMA.join(clist)
 else:
! print >> buf, " nodelist = []"
! template = " nodelist.%s(%sself.%s%s)"
 for name in self.argnames:
 if self.argprops[name] == P_NONE:
 tmp = (" if self.%s is not None:"
! " nodelist.append(self.%s)")
 print >> buf, tmp % (name, name)
 elif self.argprops[name] == P_NESTED:
***************
*** 167,171 ****
 elif self.argprops[name] == P_NODE:
 print >> buf, template % ("append", "", name, "")
! print >> buf, " return tuple(nodes)"
 
 def _gen_repr(self, buf):
--- 167,171 ----
 elif self.argprops[name] == P_NODE:
 print >> buf, template % ("append", "", name, "")
! print >> buf, " return tuple(nodelist)"
 
 def _gen_repr(self, buf):
***************
*** 209,213 ****
 name = mo.group(1)
 cur = classes[name]
! return classes.values()
 
 def main():
--- 209,213 ----
 name = mo.group(1)
 cur = classes[name]
! return sorted(classes.values(), key=lambda n: n.name)
 
 def main():
***************
*** 246,252 ****
 return [n for n in flatten(list) if isinstance(n, Node)]
 
! def asList(nodes):
 l = []
! for item in nodes:
 if hasattr(item, "asList"):
 l.append(item.asList())
--- 246,252 ----
 return [n for n in flatten(list) if isinstance(n, Node)]
 
! def asList(nodearg):
 l = []
! for item in nodearg:
 if hasattr(item, "asList"):
 l.append(item.asList())
***************
*** 275,278 ****
--- 275,293 ----
 pass
 
+ class Expression(Node):
+ # Expression is an artificial node class to support "eval"
+ nodes["expression"] = "Expression"
+ def __init__(self, node):
+ self.node = node
+ 
+ def getChildren(self):
+ return self.node,
+ 
+ def getChildNodes(self):
+ return self.node,
+ 
+ def __repr__(self):
+ return "Expression(%s)" % (repr(self.node))
+ 
 ### EPILOGUE
 klasses = globals()
Index: regrtest.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Tools/compiler/regrtest.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** regrtest.py	9 Aug 2002 16:37:36 -0000	1.4
--- regrtest.py	2 Aug 2004 06:10:11 -0000	1.5
***************
*** 48,51 ****
--- 48,53 ----
 # make sure the .pyc file is not over-written
 os.chmod(source + "c", 444)
+ elif file == 'CVS':
+ pass
 else:
 path = os.path.join(dir, file)


More information about the Python-checkins mailing list

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