[Python-checkins] CVS: python/dist/src/Tools/compiler/compiler ast.py,1.14,1.15 astgen.py,1.3,1.4

Jeremy Hylton jhylton@users.sourceforge.net
Fri, 17 Aug 2001 17:14:39 -0700


Update of /cvsroot/python/python/dist/src/Tools/compiler/compiler
In directory usw-pr-cvs1:/tmp/cvs-serv5137

Modified Files:
	ast.py astgen.py 
Log Message:
Generate correct reprs for Mul, Add, etc.


Index: ast.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Tools/compiler/compiler/ast.py,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** ast.py	2001/08/18 00:07:14	1.14
--- ast.py	2001/08/18 00:14:37	1.15
***************
*** 3,9 ****
  This file is automatically generated.
  """
- # XXX performance issues:
- # 1. getChildren() could be more efficient for many cases
- 
  from types import TupleType, ListType
  from consts import CO_VARARGS, CO_VARKEYWORDS
--- 3,6 ----
***************
*** 194,198 ****
          return self.left, self.right
      def __repr__(self):
!         return "Sub(%s, %s)" % (repr(self.left), repr(self.right))
  
  class ListCompIf(Node):
--- 191,195 ----
          return self.left, self.right
      def __repr__(self):
!         return "Sub((%s, %s))" % (repr(self.left), repr(self.right))
  
  class ListCompIf(Node):
***************
*** 213,217 ****
          return self.left, self.right
      def __repr__(self):
!         return "Div(%s, %s)" % (repr(self.left), repr(self.right))
  
  class Discard(Node):
--- 210,214 ----
          return self.left, self.right
      def __repr__(self):
!         return "Div((%s, %s))" % (repr(self.left), repr(self.right))
  
  class Discard(Node):
***************
*** 241,245 ****
          return self.left, self.right
      def __repr__(self):
!         return "RightShift(%s, %s)" % (repr(self.left), repr(self.right))
  
  class Continue(Node):
--- 238,242 ----
          return self.left, self.right
      def __repr__(self):
!         return "RightShift((%s, %s))" % (repr(self.left), repr(self.right))
  
  class Continue(Node):
***************
*** 281,285 ****
          return self.left, self.right
      def __repr__(self):
!         return "LeftShift(%s, %s)" % (repr(self.left), repr(self.right))
  
  class Mul(Node):
--- 278,282 ----
          return self.left, self.right
      def __repr__(self):
!         return "LeftShift((%s, %s))" % (repr(self.left), repr(self.right))
  
  class Mul(Node):
***************
*** 291,295 ****
          return self.left, self.right
      def __repr__(self):
!         return "Mul(%s, %s)" % (repr(self.left), repr(self.right))
  
  class Yield(Node):
--- 288,292 ----
          return self.left, self.right
      def __repr__(self):
!         return "Mul((%s, %s))" % (repr(self.left), repr(self.right))
  
  class Yield(Node):
***************
*** 369,373 ****
          return self.left, self.right
      def __repr__(self):
!         return "Mod(%s, %s)" % (repr(self.left), repr(self.right))
  
  class Class(Node):
--- 366,370 ----
          return self.left, self.right
      def __repr__(self):
!         return "Mod((%s, %s))" % (repr(self.left), repr(self.right))
  
  class Class(Node):
***************
*** 467,471 ****
          return self.left, self.right
      def __repr__(self):
!         return "Power(%s, %s)" % (repr(self.left), repr(self.right))
  
  class Ellipsis(Node):
--- 464,468 ----
          return self.left, self.right
      def __repr__(self):
!         return "Power((%s, %s))" % (repr(self.left), repr(self.right))
  
  class Ellipsis(Node):
***************
*** 487,499 ****
          return "Return(%s)" % (repr(self.value),)
  
- class Yield(Node):
-     nodes["yield"] = "Yield"
-     def __init__(self, value):
-         self.value = value
-     def _getChildren(self):
-         return self.value,
-     def __repr__(self):
-         return "Yield(%s)" % repr(self.value)
- 
  class Add(Node):
      nodes["add"] = "Add"
--- 484,487 ----
***************
*** 504,508 ****
          return self.left, self.right
      def __repr__(self):
!         return "Add(%s, %s)" % (repr(self.left), repr(self.right))
  
  class Function(Node):
--- 492,496 ----
          return self.left, self.right
      def __repr__(self):
!         return "Add((%s, %s))" % (repr(self.left), repr(self.right))
  
  class Function(Node):

Index: astgen.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Tools/compiler/compiler/astgen.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** astgen.py	2001/08/14 21:18:30	1.3
--- astgen.py	2001/08/18 00:14:37	1.4
***************
*** 82,85 ****
--- 82,87 ----
          if self.argnames:
              fmt = COMMA.join(["%s"] * self.nargs)
+             if '(' in self.args:
+                 fmt = '(%s)' % fmt
              vals = ["repr(self.%s)" % name for name in self.argnames]
              vals = COMMA.join(vals)