Hi Armin,

Thanks for the answer, but I'm having a hard time wrapping my head around this. 
I'm reading about object spaces, and I keep wondering how do the object spaces 
find their way into the CPython interpreter. In other words, since there is an 
element of partial initialization to the translation process, what performs the 
initialization, and how does the initialized product find its way into the 
translator?

My current understanding is:

 - Interpret PyPy on top of CPython
 - The interpreted PyPy performs partial interpretation of its own source code 
until it reaches the RPython entry point
 - From that point forward, the code are handled by the flow object space to 
produce code objects.
 - The annotator runs and translation happens

Is this correct? I've been spending my entire semester trying to grasp this, 
but I can't seem to get the totality of it into my head. 

Alex


On Dec 9, 2011, at 5:29 PM, Armin Rigo wrote:

> Hi Alexander,
> 
> The RPython toolchain is meant to be useful essentially for people
> that want to implement an interpreter for a dynamic language, or that
> want to hack at PyPy itself.  If you're not in either category, you
> probably only want to use the "pypy" executable, in the same way as
> you use the "python" executable from CPython.
> 
> To answer your first question: the RPython toolchain is not written in
> RPython, but in normal Python.  We only run it once, in order to build
> the "pypy" executable --- similar to how the "python" executable is
> built once using a C compiler like gcc.  (As the RPython translation
> is written in normal Python code, it runs with either "python" or a
> previous version of the "pypy" executable; nowadays we tend to use
> pypy for that because it is faster, but the result is the same.)
> 
> (Did this help, or did I miss the point of your questions?... if so, I'm 
> sorry)
> 
> 
> A bientôt,
> 
> Armin.

_______________________________________________
pypy-dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to