Commit 4a1d8dcc authored by Alex Gaynor's avatar Alex Gaynor
Browse files

removed more references to the ootyep backends, particularly in the docs

parent b4d07b830269
......@@ -297,30 +297,6 @@ directory are all copyrighted by the Python Software Foundation and licensed
under the Python Software License of which you can find a copy here:
http://www.python.org/doc/Copyright.html
License for 'rpython/translator/jvm/src/jna.jar'
=============================================
The file 'rpyhton/translator/jvm/src/jna.jar' is licensed under the GNU
Lesser General Public License of which you can find a copy here:
http://www.gnu.org/licenses/lgpl.html
License for 'rpython/translator/jvm/src/jasmin.jar'
================================================
The file 'rpyhton/translator/jvm/src/jasmin.jar' is copyright (c) 1996-2004 Jon Meyer
and distributed with permission. The use of Jasmin by PyPy does not imply
that PyPy is endorsed by Jon Meyer nor any of Jasmin's contributors. Furthermore,
the following disclaimer applies to Jasmin:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
License for 'pypy/module/unicodedata/'
======================================
......
......@@ -115,45 +115,6 @@ version is now in a ``.so`` library. You can run it say using ctypes:
>>> f(6)
1
Translating the flow graph to CLI or JVM code
+++++++++++++++++++++++++++++++++++++++++++++
PyPy also contains a `CLI backend`_ and JVM backend which
can translate flow graphs into .NET executables or a JVM jar
file respectively. Both are able to translate the entire
interpreter. You can try out the CLI and JVM backends
from the interactive translator shells as follows::
>>> def myfunc(a, b): return a+b
...
>>> t = Translation(myfunc, [int, int])
>>> t.annotate()
>>> f = t.compile_cli() # or compile_jvm()
>>> f(4, 5)
9
The object returned by ``compile_cli`` or ``compile_jvm``
is a wrapper around the real
executable: the parameters are passed as command line arguments, and
the returned value is read from the standard output.
Once you have compiled the snippet, you can also try to launch the
executable directly from the shell. You will find the
executable in one of the ``/tmp/usession-*`` directories::
# For CLI:
$ mono /tmp/usession-trunk-<username>/main.exe 4 5
9
# For JVM:
$ java -cp /tmp/usession-trunk-<username>/pypy pypy.Main 4 5
9
To translate and run for the CLI you must have the SDK installed: Windows
users need the `.NET Framework SDK`_, while Linux and Mac users
can use Mono_. To translate and run for the JVM you must have a JDK
installed (at least version 6) and ``java``/``javac`` on your path.
A slightly larger example
+++++++++++++++++++++++++
......@@ -191,31 +152,31 @@ own interpreters`_.
There are several environment variables you can find useful while playing with the RPython:
``PYPY_USESSION_DIR``
RPython uses temporary session directories to store files that are generated during the
RPython uses temporary session directories to store files that are generated during the
translation process(e.g., translated C files). ``PYPY_USESSION_DIR`` serves as a base directory for these session
dirs. The default value for this variable is the system's temporary dir.
``PYPY_USESSION_KEEP``
By default RPython keeps only the last ``PYPY_USESSION_KEEP`` (defaults to 3) session dirs inside ``PYPY_USESSION_DIR``.
By default RPython keeps only the last ``PYPY_USESSION_KEEP`` (defaults to 3) session dirs inside ``PYPY_USESSION_DIR``.
Increase this value if you want to preserve C files longer (useful when producing lots of lldebug builds).
.. _`your own interpreters`: faq.html#how-do-i-compile-my-own-interpreters
.. _`start reading sources`:
.. _`start reading sources`:
Where to start reading the sources
----------------------------------
----------------------------------
PyPy is made from parts that are relatively independent of each other.
You should start looking at the part that attracts you most (all paths are
relative to the PyPy top level directory). You may look at our `directory reference`_
relative to the PyPy top level directory). You may look at our `directory reference`_
or start off at one of the following points:
* `pypy/interpreter`_ contains the bytecode interpreter: bytecode dispatcher
in `pypy/interpreter/pyopcode.py`_, frame and code objects in `pypy/interpreter/eval.py`_ and `pypy/interpreter/pyframe.py`_,
function objects and argument passing in `pypy/interpreter/function.py`_ and `pypy/interpreter/argument.py`_,
the object space interface definition in `pypy/interpreter/baseobjspace.py`_, modules in
`pypy/interpreter/module.py`_ and `pypy/interpreter/mixedmodule.py`_. Core types supporting the bytecode
`pypy/interpreter/module.py`_ and `pypy/interpreter/mixedmodule.py`_. Core types supporting the bytecode
interpreter are defined in `pypy/interpreter/typedef.py`_.
* `pypy/interpreter/pyparser`_ contains a recursive descent parser,
......@@ -253,7 +214,7 @@ or start off at one of the following points:
.. _`RPython standard library`: rlib.html
.. _optionaltool:
.. _optionaltool:
Running PyPy's unit tests
......@@ -284,7 +245,7 @@ and you can use shell completion to point at directories or files::
# or for running tests of a whole subdirectory
py.test pypy/interpreter/
See `py.test usage and invocations`_ for some more generic info
See `py.test usage and invocations`_ for some more generic info
on how you can run tests.
Beware trying to run "all" pypy tests by pointing to the root
......@@ -352,14 +313,14 @@ You may be interested in reading more about the distinction between
.. _`interpreter-level and app-level`: coding-guide.html#interpreter-level
.. _`trace example`:
.. _`trace example`:
Tracing bytecode and operations on objects
++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++
You can use the trace object space to monitor the interpretation
of bytecodes in connection with object space operations. To enable
it, set ``__pytrace__=1`` on the interactive PyPy console::
of bytecodes in connection with object space operations. To enable
it, set ``__pytrace__=1`` on the interactive PyPy console::
>>>> __pytrace__ = 1
Tracing enabled
......@@ -384,24 +345,24 @@ written using the RPython translation toolchain.
.. _`example-interpreter`: https://bitbucket.org/pypy/example-interpreter
Additional Tools for running (and hacking) PyPy
Additional Tools for running (and hacking) PyPy
-----------------------------------------------
We use some optional tools for developing PyPy. They are not required to run
We use some optional tools for developing PyPy. They are not required to run
the basic tests or to get an interactive PyPy prompt but they help to
understand and debug PyPy especially for the translation process.
understand and debug PyPy especially for the translation process.
graphviz & pygame for flow graph viewing (highly recommended)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
graphviz and pygame are both necessary if you
want to look at generated flow graphs:
want to look at generated flow graphs:
graphviz: http://www.graphviz.org/Download.php
graphviz: http://www.graphviz.org/Download.php
pygame: http://www.pygame.org/download.shtml
py.test and the py lib
py.test and the py lib
+++++++++++++++++++++++
The `py.test testing tool`_ drives all our testing needs.
......@@ -412,7 +373,7 @@ writing, logging and some other support functionality.
You don't necessarily need to install these two libraries because
we also ship them inlined in the PyPy source tree.
Getting involved
Getting involved
-----------------
PyPy employs an open development process. You are invited to join our
......
......@@ -142,70 +142,6 @@ but they are not really tested any more. Look, for example, at the
.. _`objspace proxies`: objspace-proxies.html
.. _`CLI code`:
Translating using the CLI backend
+++++++++++++++++++++++++++++++++
**Note: the CLI backend is no longer maintained**
To create a standalone .NET executable using the `CLI backend`_::
./translate.py --backend=cli targetpypystandalone.py
The executable and all its dependencies will be stored in the
./pypy-cli-data directory. To run pypy.NET, you can run
./pypy-cli-data/main.exe. If you are using Linux or Mac, you can use
the convenience ./pypy-cli script::
$ ./pypy-cli
Python 2.7.0 (61ef2a11b56a, Mar 02 2011, 03:00:11)
[PyPy 1.6.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
And now for something completely different: ``distopian and utopian chairs''
>>>>
Moreover, at the moment it's not possible to do the full translation
using only the tools provided by the Microsoft .NET SDK, since
``ilasm`` crashes when trying to assemble the pypy-cli code due to its
size. Microsoft .NET SDK 2.0.50727.42 is affected by this bug; other
versions could be affected as well: if you find a version of the SDK
that works, please tell us.
Windows users that want to compile their own pypy-cli can install
Mono_: if a Mono installation is detected the translation toolchain
will automatically use its ``ilasm2`` tool to assemble the
executables.
To try out the experimental .NET integration, check the documentation of the
clr_ module.
.. not working now:
.. _`JVM code`:
Translating using the JVM backend
+++++++++++++++++++++++++++++++++
To create a standalone JVM executable::
./translate.py --backend=jvm targetpypystandalone.py
This will create a jar file ``pypy-jvm.jar`` as well as a convenience
script ``pypy-jvm`` for executing it. To try it out, simply run
``./pypy-jvm``::
$ ./pypy-jvm
Python 2.7.0 (61ef2a11b56a, Mar 02 2011, 03:00:11)
[PyPy 1.6.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
And now for something completely different: ``# assert did not crash''
>>>>
Alternatively, you can run it using ``java -jar pypy-jvm.jar``. At the moment
the executable does not provide any interesting features, like integration with
Java.
Installation
++++++++++++
......
......@@ -2,7 +2,7 @@
import os
DIRS_SPLIT = [
'translator/c', 'translator/jvm', 'rlib',
'translator/c', 'rlib',
'rpython/memory', 'jit/metainterp', 'rpython/test',
'jit/backend/arm', 'jit/backend/x86',
]
......
......@@ -10,7 +10,6 @@ tddium:
- pypy/**/test_*.py
- rpython/**/test_*.py
- exclude: pypy/module/test_lib_pypy/ctypes_tests/** # don't run in CPython
- exclude: rpython/jit/backend/cli/** # bitrotted AFAICT
- exclude: rpython/jit/backend/llvm/** # bitrotted AFAICT
# and things requiring a fix in Tddium, omitted to avoid confusion:
- exclude: rpython/rlib/unicodedata/test/test_ucd.py # need wide build
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment