i don't understand what does the word translate mean. Is it the same as compile?
What "translation" means is described in detail in The RPython Toolchain. There's also some higher-level introductory information in the Coding Guide and FAQ.
Summarizing their summary:
- Compile and import the complete RPython program.
- Dynamically analyze the program and annotate it with flow graphs.
- Compile the flow graphs into lower-level flow graphs.
- Optimize the compiled flow graphs.
- Analyze the compiled and optimized flow graphs.
- Generate C source from the flow graphs and analysis.
- Compile and link the C source into a native executable.
So, step 1 uses the normal Python compiler, step 7 uses the normal C compiler (and linker), and steps 3 and 4 are similar to the kind of thing an optimizing compiler normally does. But calling the overall process "compilation" would be misleading. (Also, people would probably interpret it to mean something akin to what Shedskin does, which is definitely not right.)
Is the pypy-c created in the translation the same thing as bin/pypy in the binary?
What ends up in a binary distribution is basically the same as if you run the install process on the translation goal. So, yes, goal/pypy-c
and bin/pypy
are effectively the same thing.
Is the pre-built PyPy here refer to the source code?
No. It refers to a bin/pypy
from a binary distribution. As the docs say, you can actually use any Python 2.6+, including CPython, or a goal/pypy-c
left over from a previous build, etc. However, the translator will probably run fastest on the standard PyPy binary distribution, so that's what you should use unless you have a good reason to do otherwise.