[pypy-svn] r26376 - in pypy/dist/pypy/translator/cl: . test

sanxiyn at codespeak.net sanxiyn at codespeak.net
Wed Apr 26 17:44:21 CEST 2006


Author: sanxiyn
Date: Wed Apr 26 17:44:15 2006
New Revision: 26376

Added:
   pypy/dist/pypy/translator/cl/test/test_clrepr.py
      - copied, changed from r26374, pypy/dist/pypy/translator/cl/test/test_buildcl.py
Removed:
   pypy/dist/pypy/translator/cl/test/test_buildcl.py
Modified:
   pypy/dist/pypy/translator/cl/buildcl.py
   pypy/dist/pypy/translator/cl/clrepr.py
Log:
Get rid of writelisp() and merge with repr_const()


Modified: pypy/dist/pypy/translator/cl/buildcl.py
==============================================================================
--- pypy/dist/pypy/translator/cl/buildcl.py	(original)
+++ pypy/dist/pypy/translator/cl/buildcl.py	Wed Apr 26 17:44:15 2006
@@ -58,18 +58,6 @@
     else:
         return Literal(s)
 
-def writelisp(obj):
-    if isinstance(obj, (bool, int, type(None), str)):
-        return repr_const(obj)
-    if isinstance(obj, (tuple, list)):
-        content = ' '.join([writelisp(elt) for elt in obj])
-        content = '(' + content + ')'
-        if isinstance(obj, list):
-            content = '#' + content
-        elif isinstance(obj, tuple):
-            content = "'" + content # quote Lisp list
-        return content
-
 def make_cl_func(func, argtypes=[]):
     global global_cl
     if global_cl is None:
@@ -102,7 +90,7 @@
         fp = file(str(fpath), "a")
         print >>fp, "(write (", repr_fun_name(func.func_name),
         for arg in args:
-            print >>fp, writelisp(arg),
+            print >>fp, repr_const(arg),
         print >>fp, "))"
         fp.close()
         if conftest.option.prettyprint:

Modified: pypy/dist/pypy/translator/cl/clrepr.py
==============================================================================
--- pypy/dist/pypy/translator/cl/clrepr.py	(original)
+++ pypy/dist/pypy/translator/cl/clrepr.py	Wed Apr 26 17:44:15 2006
@@ -35,6 +35,9 @@
     if isinstance(val, tuple):
         val = map(repr_const, val)
         return "'(%s)" % ' '.join(val)
+    if isinstance(val, list):
+        val = map(repr_const, val)
+        return "#(%s)" % ' '.join(val)
     if isinstance(val, bool): # should precede int
         if val:
             return "t"



More information about the Pypy-commit mailing list