summaryrefslogtreecommitdiffstats
path: root/Tools/compiler
diff options
context:
space:
mode:
authorJeremy Hylton <jeremy@alum.mit.edu>2000-02-08 18:57:32 (GMT)
committerJeremy Hylton <jeremy@alum.mit.edu>2000-02-08 18:57:32 (GMT)
commit9605c11c4c3127e3b1749eb4f65b80e9e7db0d8e (patch)
treecb4fb3a9853065949523ad366f130449b3987142 /Tools/compiler
parent69e2c6efbbeff44285f071d011e5e56f5fc26bad (diff)
downloadcpython-9605c11c4c3127e3b1749eb4f65b80e9e7db0d8e.zip
cpython-9605c11c4c3127e3b1749eb4f65b80e9e7db0d8e.tar.gz
cpython-9605c11c4c3127e3b1749eb4f65b80e9e7db0d8e.tar.bz2
move constants out of transformer so that they can be shared with ast
add varargs and kwargs attributes to Function nodes
Diffstat (limited to 'Tools/compiler')
-rw-r--r--Tools/compiler/compiler/ast.py7
-rw-r--r--Tools/compiler/compiler/transformer.py10
2 files changed, 9 insertions, 8 deletions
diff --git a/Tools/compiler/compiler/ast.py b/Tools/compiler/compiler/ast.py
index 9c214d4..1715a7f 100644
--- a/Tools/compiler/compiler/ast.py
+++ b/Tools/compiler/compiler/ast.py
@@ -1,4 +1,5 @@
import types
+from consts import CO_VARARGS, CO_VARKEYWORDS
nodes = {}
@@ -85,6 +86,12 @@ class Function(Node):
self.code = code
self._children = ('function',
name, argnames, defaults, flags, doc, code)
+ self.varargs = self.kwargs = None
+ if flags & CO_VARARGS:
+ self.varargs = 1
+ if flags & CO_VARKEYWORDS:
+ self.kwargs = 1
+
def __repr__(self):
return "Function(%s,%s,%s,%s,%s,%s)" % self._children[1:]
diff --git a/Tools/compiler/compiler/transformer.py b/Tools/compiler/compiler/transformer.py
index 9200f7a..42d34dc 100644
--- a/Tools/compiler/compiler/transformer.py
+++ b/Tools/compiler/compiler/transformer.py
@@ -99,14 +99,8 @@ import pprint
error = 'walker.error'
-# code flags
-CO_VARARGS = 1
-CO_VARKEYWORDS = 2
-
-# operation flags
-OP_ASSIGN = 'OP_ASSIGN'
-OP_DELETE = 'OP_DELETE'
-OP_APPLY = 'OP_APPLY'
+from consts import CO_VARARGS, CO_VARKEYWORDS
+from consts import OP_ASSIGN, OP_DELETE, OP_APPLY
def asList(nodes):
l = []