[pypy-svn] r41449 - pypy/dist/pypy/doc
mwh at codespeak.net
mwh at codespeak.net
Tue Mar 27 12:14:43 CEST 2007
Author: mwh
Date: Tue Mar 27 12:14:41 2007
New Revision: 41449
Modified:
pypy/dist/pypy/doc/translation.txt
Log:
incorporate most of a paragraph from architecture.txt that probably fits better
in here.
Modified: pypy/dist/pypy/doc/translation.txt
==============================================================================
--- pypy/dist/pypy/doc/translation.txt (original)
+++ pypy/dist/pypy/doc/translation.txt Tue Mar 27 12:14:41 2007
@@ -21,7 +21,7 @@
Overview
========
-The job of translation tool-chain is to translate RPython_ programs into an
+The job of translation tool chain is to translate RPython_ programs into an
efficient version of that program for one of various target platforms,
generally one that is considerably lower-level than Python. It divides
this task into several steps, and the purpose of this document is to
@@ -42,9 +42,15 @@
start with we describe the process of translating an RPython_ program into
C (which is the default and original target).
-Most of the steps in the translation process operate on control flow
-graphs, which are produced from functions in the input program, analyzed,
-transformed and then translated to the target language.
+The translation tool chain never sees Python source code or syntax
+trees, but rather starts with the *code objects* that define the
+behaviour of the function objects one gives it as input. The
+`bytecode evaluator`_ and the `Flow Object Space`_ work through these
+code objects using `abstract interpretation`_ to produce a control
+flow graph (one per function): yet another representation of the
+source program, but one which is suitable for applying type inference
+and translation techniques and which is the fundamental data structure
+most of the translation steps operate on.
It is helpful to consider translation as being made up of the following
steps:
@@ -90,7 +96,8 @@
translation process which allows you to interactively work through these
stages.
-.. _`SSA`: http://en.wikipedia.org/wiki/Static_single_assignment_form
+.. _`bytecode evaluator`: interpreter.html
+.. _`abstract interpretation`: theory.html#abstract-interpretation
.. _`translator.py`: ../../pypy/translator/translator.py
.. _`play around`: getting-started.html#trying-out-the-translator
.. _`Flow Object Space`: objspace.html#the-flow-object-space
@@ -105,6 +112,7 @@
.. _`translatorshell.py`: ../../pypy/bin/translatorshell.py
.. _`flow model`:
+.. _`control flow graphs`:
The Flow Model
==============
More information about the Pypy-commit
mailing list