[pypy-dev] Using PyPy as a compiler

Hart's Antler bhartsho at yahoo.com
Sun Feb 6 14:31:37 CET 2005

Hi Holger,

I tried pyrexc in pypy/tool but i get the same error as with the normal pyrexc:
bash-2.05b# dist-pypy/pypy/tool/pyrexc test.pyx 
/root/imp/test.pyx:5:17: Declarator should be empty
/root/imp/test.pyx:5:17: Expected '>'

The pyrex generated code looks like this:
def hi():
  return hi__2ad67a3c()
cdef object hi__2ad67a3c():
  # untyped variables: v0 v13 v21 v3 v7
  v3 = <Function sys_stdout>()
  v7 = <Function print_item_to>('hello world', v3)
  v13 = <Function sys_stdout>()
  v21 = <Function print_newline_to>(v13)
  v0 = None
  return v0

which was generated from a function that looks like this:
def hi(): return 'hello world'


--- holger krekel <hpk at trillke.net> wrote:

> Hi Brett, 
> On Sun, Feb 06, 2005 at 00:46 -0800, Hart's Antler wrote:
> > Hi, i am new to PyPy, i'm hoping someone can help me get started.
> > 
> > I want to use translator to turn some python code into a pyx files so that i can compile them
> and
> > later load them as modules in my program.  I did a simple test and i was able to get some
> pyrex
> > code from the translator, but when i saved that to a pyx file and called 'pyrexc mymodule.pyx'
> on
> > it there were errors.  I noticed there is a Pyrex folder (a Pyrex fork?) in the PyPy project,
> but
> > i'm not what to use in there to convert mymodule.pyx to a .c file so gcc can compile it.
> The control flow at the lower level really likes jumping around 
> and thus we are using a slightly modified version of Pyrex which 
> supports GOTOs or rather generic "CINLINE" statement IIRC :-)   
> You might try to use pypy/tool/pyrexc mymodule.pyx  which uses
> our modified versions of Pyrex. 
> > btw, is todays current version in svn working?  I get alot of errors when calling
> > translator.view(), i'm doing the test.is_perfect_number tutorial.
> ... 
> > py.__impl__.process.cmdexec.ExecutionFailed: ExecutionFailed: 127  dot -Tplain
> > /tmp/usession-4/graph.dot>/tmp/usession-4/graph.plain
> > /bin/sh: line 1: dot: command not found
> You need to install graphviz (available on most distributions) which 
> comes with the 'dot' commandline tool. Then this should nicely work. 
> have fun, 
>     holger

Do you Yahoo!? 
Yahoo! Mail - Helps protect you from nasty viruses. 

More information about the Pypy-dev mailing list