[pypy-svn] r16766 - in pypy/release/0.7.x/pypy: doc translator

cfbolz at codespeak.net cfbolz at codespeak.net
Sat Aug 27 15:03:04 CEST 2005


Author: cfbolz
Date: Sat Aug 27 15:03:03 2005
New Revision: 16766

Modified:
   pypy/release/0.7.x/pypy/doc/getting-started.txt
   pypy/release/0.7.x/pypy/translator/translator.py
Log:
(cfbolz, ericvrp
fixed printing of llvm code


Modified: pypy/release/0.7.x/pypy/doc/getting-started.txt
==============================================================================
--- pypy/release/0.7.x/pypy/doc/getting-started.txt	(original)
+++ pypy/release/0.7.x/pypy/doc/getting-started.txt	Sat Aug 27 15:03:03 2005
@@ -360,10 +360,17 @@
 return type and the arguments of the entry function has to be an int, float or
 bool. To try it do:: 
 
+   >>> t = Translator(test.my_gcd)
+   >>> a = t.annotate([int, int])
+   >>> a.simplify()
+   >>> t.specialize()
    >>> print t.llvm()
+
+   <...  really huge amount of LLVM code  ...>
+
    >>> f = t.llvmcompile(optimize=True)
-   >>> f(28)
-   1
+   >>> f(15, 10)
+   5
 
 In contrast to the C backend this works only for fully annotated and
 specialized graphs.

Modified: pypy/release/0.7.x/pypy/translator/translator.py
==============================================================================
--- pypy/release/0.7.x/pypy/translator/translator.py	(original)
+++ pypy/release/0.7.x/pypy/translator/translator.py	Sat Aug 27 15:03:03 2005
@@ -202,9 +202,12 @@
         from pypy.translator.llvm.genllvm import GenLLVM
         if self.annotator is None:
             raise ValueError, "function has to be annotated."
-        gen = GenLLVM(translator)
+        gen = GenLLVM(self)
         filename = gen.gen_llvm_source()
-        return filename
+        f = open(filename, "r")
+        result = f.read()
+        f.close()
+        return result
     
     def generatecode(self, gencls, input_arg_types, func):
         if input_arg_types is None:



More information about the Pypy-commit mailing list