[pypy-svn] r15376 - pypy/dist/pypy/translator/goal

cfbolz at codespeak.net cfbolz at codespeak.net
Fri Jul 29 21:25:20 CEST 2005


Author: cfbolz
Date: Fri Jul 29 21:25:17 2005
New Revision: 15376

Removed:
   pypy/dist/pypy/translator/goal/llinterpret.tmp
Modified:
   pypy/dist/pypy/translator/goal/targetpypymain.py
   pypy/dist/pypy/translator/goal/targetrichards.py
   pypy/dist/pypy/translator/goal/translate_pypy.py
Log:
(pedronis, cfbolz)
added an options to interpret the flow graph with the llinterpreter.



Deleted: /pypy/dist/pypy/translator/goal/llinterpret.tmp
==============================================================================
--- /pypy/dist/pypy/translator/goal/llinterpret.tmp	Fri Jul 29 21:25:17 2005
+++ (empty file)
@@ -1,13 +0,0 @@
-
-import code; code.interact(local=locals())
-
-import py
-
-from pypy.rpython.llinterp import LLInterpreter
-from pypy.rpython import rstr
-if not log:
-    py.log.setconsumer("llinterp operation", None)
-
-ll_str = rstr.string_repr.convert_const("app_example.py")
-interp = LLInterpreter(t.flowgraphs, t.rtyper)
-interp.eval_function(entry_point, [ll_str])

Modified: pypy/dist/pypy/translator/goal/targetpypymain.py
==============================================================================
--- pypy/dist/pypy/translator/goal/targetpypymain.py	(original)
+++ pypy/dist/pypy/translator/goal/targetpypymain.py	Fri Jul 29 21:25:17 2005
@@ -50,6 +50,12 @@
 
     return entry_point, [SomeString()]
 
+def get_llinterp_args():
+    from pypy.rpython import rstr
+    ll_str = rstr.string_repr.convert_const("app_example.py")
+    return [ll_str]
+
+
 # _____ Run translated _____
 def run(c_entry_point):
     argv = [os.path.join(this_dir, 'app_example.py')]

Modified: pypy/dist/pypy/translator/goal/targetrichards.py
==============================================================================
--- pypy/dist/pypy/translator/goal/targetrichards.py	(original)
+++ pypy/dist/pypy/translator/goal/targetrichards.py	Fri Jul 29 21:25:17 2005
@@ -7,6 +7,9 @@
 def target():
     return entry_point, []
 
+def get_llinterp_args():
+    return []
+
 # _____ Run translated _____
 def run(c_entry_point):
     print "Translated:"

Modified: pypy/dist/pypy/translator/goal/translate_pypy.py
==============================================================================
--- pypy/dist/pypy/translator/goal/translate_pypy.py	(original)
+++ pypy/dist/pypy/translator/goal/translate_pypy.py	Fri Jul 29 21:25:17 2005
@@ -33,6 +33,8 @@
    -load filename
               restores the translator from a file. The file type must
               be either .py or .zip .
+   -llinterpret
+              interprets the flow graph after rtyping it
 """
 import autopath, sys, os
 
@@ -283,6 +285,7 @@
                '-load': False,
                '-save': False,
                '-fork': False,
+               '-llinterpret': False,
                }
     listen_port = None
     argiter = iter(sys.argv[1:])
@@ -554,7 +557,16 @@
                  )
         if err:
             raise err[0], err[1], err[2]
-        if options['-no-c']:
+        if options['-llinterpret']:
+            def interpret():
+                import py
+                from pypy.rpython.llinterp import LLInterpreter
+                py.log.setconsumer("llinterp operation", None)    
+                interp = LLInterpreter(t.flowgraphs, t.rtyper)
+                interp.eval_function(entry_point,
+                                     targetspec_dic['get_llinterp_args']())
+            interpret()
+        elif options['-no-c']:
             print 'Not generating C code.'
         elif options['-c']:
             print 'Generating C code without compiling it...'



More information about the Pypy-commit mailing list