David Malcolm avatar David Malcolm committed c6f7ecf

(dmalcolm, lac): attempt to fix links to source code within sphinx-generated HTML

Sphinx generates the html in _build/html, which means that all the links relative to pypy/doc break within the html files.

The real fix appears to be to write a plugin to sphinx to handle this more gracefully, perhaps based on http://sphinx.pocoo.org/ext/viewcode.html

For now, this changeset merely tries to consolidate all links to source code files to be of the form ../../../../pypy

This was achieved using these sed commands:

sed -i -e"s|: \.\./objspace/|: ../../../../pypy/objspace/|" *.rst
sed -i -e"s|: \.\./\.\./pypy/|: ../../../../pypy/|" *.rst
sed -i -e"s|\.\./\.\./pypy/|../../../../pypy/|" getting-started-dev.rst

to avoid accidentally modifying paths in other places (e.g. usage examples)

Comments (0)

Files changed (8)

pypy/doc/_ref.rst

 .. _`lib-python/`: ../../lib-python
 .. _`lib-python/2.5.2/dis.py`: ../../lib-python/2.5.2/dis.py
 .. _`annotation/`:
-.. _`pypy/annotation`: ../../pypy/annotation
-.. _`pypy/annotation/annrpython.py`: ../../pypy/annotation/annrpython.py
-.. _`annotation/binaryop.py`: ../../pypy/annotation/binaryop.py
-.. _`pypy/annotation/builtin.py`: ../../pypy/annotation/builtin.py
-.. _`pypy/annotation/model.py`: ../../pypy/annotation/model.py
-.. _`bin/`: ../../pypy/bin
-.. _`config/`: ../../pypy/config
-.. _`pypy/config/pypyoption.py`: ../../pypy/config/pypyoption.py
-.. _`doc/`: ../../pypy/doc
-.. _`doc/config/`: ../../pypy/doc/config
-.. _`doc/discussion/`: ../../pypy/doc/discussion
+.. _`pypy/annotation`: ../../../../pypy/annotation
+.. _`pypy/annotation/annrpython.py`: ../../../../pypy/annotation/annrpython.py
+.. _`annotation/binaryop.py`: ../../../../pypy/annotation/binaryop.py
+.. _`pypy/annotation/builtin.py`: ../../../../pypy/annotation/builtin.py
+.. _`pypy/annotation/model.py`: ../../../../pypy/annotation/model.py
+.. _`bin/`: ../../../../pypy/bin
+.. _`config/`: ../../../../pypy/config
+.. _`pypy/config/pypyoption.py`: ../../../../pypy/config/pypyoption.py
+.. _`doc/`: ../../../../pypy/doc
+.. _`doc/config/`: ../../../../pypy/doc/config
+.. _`doc/discussion/`: ../../../../pypy/doc/discussion
 .. _`interpreter/`:
-.. _`pypy/interpreter`: ../../pypy/interpreter
-.. _`pypy/interpreter/argument.py`: ../../pypy/interpreter/argument.py
+.. _`pypy/interpreter`: ../../../../pypy/interpreter
+.. _`pypy/interpreter/argument.py`: ../../../../pypy/interpreter/argument.py
 .. _`interpreter/astcompiler/`:
-.. _`pypy/interpreter/astcompiler`: ../../pypy/interpreter/astcompiler
-.. _`pypy/interpreter/executioncontext.py`: ../../pypy/interpreter/executioncontext.py
-.. _`pypy/interpreter/function.py`: ../../pypy/interpreter/function.py
+.. _`pypy/interpreter/astcompiler`: ../../../../pypy/interpreter/astcompiler
+.. _`pypy/interpreter/executioncontext.py`: ../../../../pypy/interpreter/executioncontext.py
+.. _`pypy/interpreter/function.py`: ../../../../pypy/interpreter/function.py
 .. _`interpreter/gateway.py`:
-.. _`pypy/interpreter/gateway.py`: ../../pypy/interpreter/gateway.py
-.. _`pypy/interpreter/generator.py`: ../../pypy/interpreter/generator.py
-.. _`pypy/interpreter/mixedmodule.py`: ../../pypy/interpreter/mixedmodule.py
-.. _`pypy/interpreter/module.py`: ../../pypy/interpreter/module.py
-.. _`pypy/interpreter/nestedscope.py`: ../../pypy/interpreter/nestedscope.py
-.. _`pypy/interpreter/pyopcode.py`: ../../pypy/interpreter/pyopcode.py
+.. _`pypy/interpreter/gateway.py`: ../../../../pypy/interpreter/gateway.py
+.. _`pypy/interpreter/generator.py`: ../../../../pypy/interpreter/generator.py
+.. _`pypy/interpreter/mixedmodule.py`: ../../../../pypy/interpreter/mixedmodule.py
+.. _`pypy/interpreter/module.py`: ../../../../pypy/interpreter/module.py
+.. _`pypy/interpreter/nestedscope.py`: ../../../../pypy/interpreter/nestedscope.py
+.. _`pypy/interpreter/pyopcode.py`: ../../../../pypy/interpreter/pyopcode.py
 .. _`interpreter/pyparser/`:
-.. _`pypy/interpreter/pyparser`: ../../pypy/interpreter/pyparser
-.. _`pypy/interpreter/pyparser/pytokenizer.py`: ../../pypy/interpreter/pyparser/pytokenizer.py
-.. _`pypy/interpreter/pyparser/parser.py`: ../../pypy/interpreter/pyparser/parser.py
-.. _`pypy/interpreter/pyparser/pyparse.py`: ../../pypy/interpreter/pyparser/pyparse.py
-.. _`pypy/interpreter/pyparser/future.py`: ../../pypy/interpreter/pyparser/future.py
-.. _`pypy/interpreter/pyparser/metaparser.py`: ../../pypy/interpreter/pyparser/metaparser.py
-.. _`pypy/interpreter/astcompiler/astbuilder.py`: ../../pypy/interpreter/astcompiler/astbuilder.py
-.. _`pypy/interpreter/astcompiler/optimize.py`: ../../pypy/interpreter/astcompiler/optimize.py
-.. _`pypy/interpreter/astcompiler/codegen.py`: ../../pypy/interpreter/astcompiler/codegen.py
-.. _`pypy/interpreter/astcompiler/tools/asdl_py.py`: ../../pypy/interpreter/astcompiler/tools/asdl_py.py
-.. _`pypy/interpreter/astcompiler/tools/Python.asdl`: ../../pypy/interpreter/astcompiler/tools/Python.asdl
-.. _`pypy/interpreter/astcompiler/assemble.py`: ../../pypy/interpreter/astcompiler/assemble.py
-.. _`pypy/interpreter/astcompiler/symtable.py`: ../../pypy/interpreter/astcompiler/symtable.py
-.. _`pypy/interpreter/astcompiler/asthelpers.py`: ../../pypy/interpreter/astcompiler/asthelpers.py
-.. _`pypy/interpreter/astcompiler/ast.py`: ../../pypy/interpreter/astcompiler/ast.py
-.. _`pypy/interpreter/typedef.py`: ../../pypy/interpreter/typedef.py
+.. _`pypy/interpreter/pyparser`: ../../../../pypy/interpreter/pyparser
+.. _`pypy/interpreter/pyparser/pytokenizer.py`: ../../../../pypy/interpreter/pyparser/pytokenizer.py
+.. _`pypy/interpreter/pyparser/parser.py`: ../../../../pypy/interpreter/pyparser/parser.py
+.. _`pypy/interpreter/pyparser/pyparse.py`: ../../../../pypy/interpreter/pyparser/pyparse.py
+.. _`pypy/interpreter/pyparser/future.py`: ../../../../pypy/interpreter/pyparser/future.py
+.. _`pypy/interpreter/pyparser/metaparser.py`: ../../../../pypy/interpreter/pyparser/metaparser.py
+.. _`pypy/interpreter/astcompiler/astbuilder.py`: ../../../../pypy/interpreter/astcompiler/astbuilder.py
+.. _`pypy/interpreter/astcompiler/optimize.py`: ../../../../pypy/interpreter/astcompiler/optimize.py
+.. _`pypy/interpreter/astcompiler/codegen.py`: ../../../../pypy/interpreter/astcompiler/codegen.py
+.. _`pypy/interpreter/astcompiler/tools/asdl_py.py`: ../../../../pypy/interpreter/astcompiler/tools/asdl_py.py
+.. _`pypy/interpreter/astcompiler/tools/Python.asdl`: ../../../../pypy/interpreter/astcompiler/tools/Python.asdl
+.. _`pypy/interpreter/astcompiler/assemble.py`: ../../../../pypy/interpreter/astcompiler/assemble.py
+.. _`pypy/interpreter/astcompiler/symtable.py`: ../../../../pypy/interpreter/astcompiler/symtable.py
+.. _`pypy/interpreter/astcompiler/asthelpers.py`: ../../../../pypy/interpreter/astcompiler/asthelpers.py
+.. _`pypy/interpreter/astcompiler/ast.py`: ../../../../pypy/interpreter/astcompiler/ast.py
+.. _`pypy/interpreter/typedef.py`: ../../../../pypy/interpreter/typedef.py
 .. _`lib/`:
 .. _`lib_pypy/`: ../../lib_pypy
 .. _`lib/distributed/`: ../../lib_pypy/distributed
 .. _`lib_pypy/pypy_test/`: ../../lib_pypy/pypy_test
 .. _`module/`:
 .. _`pypy/module`:
-.. _`pypy/module/`: ../../pypy/module
-.. _`pypy/module/__builtin__/__init__.py`: ../../pypy/module/__builtin__/__init__.py
-.. _`pypy/module/_stackless/test/test_clonable.py`: ../../pypy/module/_stackless/test/test_clonable.py
-.. _`pypy/module/_stackless/test/test_composable_coroutine.py`: ../../pypy/module/_stackless/test/test_composable_coroutine.py
+.. _`pypy/module/`: ../../../../pypy/module
+.. _`pypy/module/__builtin__/__init__.py`: ../../../../pypy/module/__builtin__/__init__.py
+.. _`pypy/module/_stackless/test/test_clonable.py`: ../../../../pypy/module/_stackless/test/test_clonable.py
+.. _`pypy/module/_stackless/test/test_composable_coroutine.py`: ../../../../pypy/module/_stackless/test/test_composable_coroutine.py
 .. _`objspace/`:
-.. _`pypy/objspace`: ../../pypy/objspace
-.. _`objspace/dump.py`: ../../pypy/objspace/dump.py
-.. _`objspace/flow/`: ../../pypy/objspace/flow
+.. _`pypy/objspace`: ../../../../pypy/objspace
+.. _`objspace/dump.py`: ../../../../pypy/objspace/dump.py
+.. _`objspace/flow/`: ../../../../pypy/objspace/flow
 .. _`objspace/std/`:
-.. _`pypy/objspace/std`: ../../pypy/objspace/std
-.. _`objspace/taint.py`: ../../pypy/objspace/taint.py
+.. _`pypy/objspace/std`: ../../../../pypy/objspace/std
+.. _`objspace/taint.py`: ../../../../pypy/objspace/taint.py
 .. _`objspace/thunk.py`:
-.. _`pypy/objspace/thunk.py`: ../../pypy/objspace/thunk.py
+.. _`pypy/objspace/thunk.py`: ../../../../pypy/objspace/thunk.py
 .. _`objspace/trace.py`:
-.. _`pypy/objspace/trace.py`: ../../pypy/objspace/trace.py
+.. _`pypy/objspace/trace.py`: ../../../../pypy/objspace/trace.py
 .. _`pypy/rlib`:
-.. _`rlib/`: ../../pypy/rlib
-.. _`pypy/rlib/rarithmetic.py`: ../../pypy/rlib/rarithmetic.py
-.. _`pypy/rlib/test`: ../../pypy/rlib/test
+.. _`rlib/`: ../../../../pypy/rlib
+.. _`pypy/rlib/rarithmetic.py`: ../../../../pypy/rlib/rarithmetic.py
+.. _`pypy/rlib/test`: ../../../../pypy/rlib/test
 .. _`pypy/rpython`:
 .. _`pypy/rpython/`:
-.. _`rpython/`: ../../pypy/rpython
-.. _`rpython/lltypesystem/`: ../../pypy/rpython/lltypesystem
+.. _`rpython/`: ../../../../pypy/rpython
+.. _`rpython/lltypesystem/`: ../../../../pypy/rpython/lltypesystem
 .. _`pypy/rpython/lltypesystem/lltype.py`:
-.. _`rpython/lltypesystem/lltype.py`: ../../pypy/rpython/lltypesystem/lltype.py
-.. _`rpython/memory/`: ../../pypy/rpython/memory
-.. _`rpython/memory/gc/generation.py`: ../../pypy/rpython/memory/gc/generation.py
-.. _`rpython/memory/gc/hybrid.py`: ../../pypy/rpython/memory/gc/hybrid.py
-.. _`rpython/memory/gc/markcompact.py`: ../../pypy/rpython/memory/gc/markcompact.py
-.. _`rpython/memory/gc/marksweep.py`: ../../pypy/rpython/memory/gc/marksweep.py
-.. _`rpython/memory/gc/semispace.py`: ../../pypy/rpython/memory/gc/semispace.py
-.. _`rpython/ootypesystem/`: ../../pypy/rpython/ootypesystem
-.. _`rpython/ootypesystem/ootype.py`: ../../pypy/rpython/ootypesystem/ootype.py
-.. _`rpython/rint.py`: ../../pypy/rpython/rint.py
-.. _`rpython/rlist.py`: ../../pypy/rpython/rlist.py
-.. _`rpython/rmodel.py`: ../../pypy/rpython/rmodel.py
-.. _`pypy/rpython/rtyper.py`: ../../pypy/rpython/rtyper.py
-.. _`pypy/rpython/test/test_llinterp.py`: ../../pypy/rpython/test/test_llinterp.py
-.. _`pypy/test_all.py`: ../../pypy/test_all.py
-.. _`tool/`: ../../pypy/tool
-.. _`tool/algo/`: ../../pypy/tool/algo
-.. _`tool/pytest/`: ../../pypy/tool/pytest
+.. _`rpython/lltypesystem/lltype.py`: ../../../../pypy/rpython/lltypesystem/lltype.py
+.. _`rpython/memory/`: ../../../../pypy/rpython/memory
+.. _`rpython/memory/gc/generation.py`: ../../../../pypy/rpython/memory/gc/generation.py
+.. _`rpython/memory/gc/hybrid.py`: ../../../../pypy/rpython/memory/gc/hybrid.py
+.. _`rpython/memory/gc/markcompact.py`: ../../../../pypy/rpython/memory/gc/markcompact.py
+.. _`rpython/memory/gc/marksweep.py`: ../../../../pypy/rpython/memory/gc/marksweep.py
+.. _`rpython/memory/gc/semispace.py`: ../../../../pypy/rpython/memory/gc/semispace.py
+.. _`rpython/ootypesystem/`: ../../../../pypy/rpython/ootypesystem
+.. _`rpython/ootypesystem/ootype.py`: ../../../../pypy/rpython/ootypesystem/ootype.py
+.. _`rpython/rint.py`: ../../../../pypy/rpython/rint.py
+.. _`rpython/rlist.py`: ../../../../pypy/rpython/rlist.py
+.. _`rpython/rmodel.py`: ../../../../pypy/rpython/rmodel.py
+.. _`pypy/rpython/rtyper.py`: ../../../../pypy/rpython/rtyper.py
+.. _`pypy/rpython/test/test_llinterp.py`: ../../../../pypy/rpython/test/test_llinterp.py
+.. _`pypy/test_all.py`: ../../../../pypy/test_all.py
+.. _`tool/`: ../../../../pypy/tool
+.. _`tool/algo/`: ../../../../pypy/tool/algo
+.. _`tool/pytest/`: ../../../../pypy/tool/pytest
 .. _`pypy/translator`:
-.. _`translator/`: ../../pypy/translator
-.. _`translator/backendopt/`: ../../pypy/translator/backendopt
-.. _`translator/c/`: ../../pypy/translator/c
-.. _`translator/cli/`: ../../pypy/translator/cli
-.. _`translator/goal/`: ../../pypy/translator/goal
-.. _`pypy/translator/goal/targetnopstandalone.py`: ../../pypy/translator/goal/targetnopstandalone.py
-.. _`translator/jvm/`: ../../pypy/translator/jvm
-.. _`translator/stackless/`: ../../pypy/translator/stackless
-.. _`translator/tool/`: ../../pypy/translator/tool
+.. _`translator/`: ../../../../pypy/translator
+.. _`translator/backendopt/`: ../../../../pypy/translator/backendopt
+.. _`translator/c/`: ../../../../pypy/translator/c
+.. _`translator/cli/`: ../../../../pypy/translator/cli
+.. _`translator/goal/`: ../../../../pypy/translator/goal
+.. _`pypy/translator/goal/targetnopstandalone.py`: ../../../../pypy/translator/goal/targetnopstandalone.py
+.. _`translator/jvm/`: ../../../../pypy/translator/jvm
+.. _`translator/stackless/`: ../../../../pypy/translator/stackless
+.. _`translator/tool/`: ../../../../pypy/translator/tool
 .. _`translator/js/`: http://codespeak.net/svn/pypy/branch/oo-jit/pypy/translator/js/

pypy/doc/coding-guide.rst

 silent wrap-around.  Whenever we need more control, we use the following
 helpers (which live the `pypy/rlib/rarithmetic.py`_):
 
-.. _`pypy/rlib/rarithmetic.py`: ../../pypy/rlib/rarithmetic.py
+.. _`pypy/rlib/rarithmetic.py`: ../../../../pypy/rlib/rarithmetic.py
 
 
 **ovfcheck()**

pypy/doc/geninterp.rst

 Example
 +++++++
 
-.. _implementation: ../../pypy/translator/geninterplevel.py
+.. _implementation: ../../../../pypy/translator/geninterplevel.py
 
 Let's try a little example. You might want to look at the flowgraph that it
 produces. Here, we directly run the Python translation and look at the

pypy/doc/getting-started-dev.rst

 .. _mixedmodule.py:          http://codespeak.net/svn/pypy/trunk/pypy/interpreter/mixedmodule.py
 .. _typedef.py:             http://codespeak.net/svn/pypy/trunk/pypy/interpreter/typedef.py
 .. _Standard object space:  objspace.html#the-standard-object-space
-.. _objspace.py:            ../../pypy/objspace/std/objspace.py
-.. _thunk:                  ../../pypy/objspace/thunk.py
-.. _trace:                  ../../pypy/objspace/trace.py
-.. _flow:                   ../../pypy/objspace/flow/
-.. _translator.py:          ../../pypy/translator/translator.py
+.. _objspace.py:            ../../../../pypy/objspace/std/objspace.py
+.. _thunk:                  ../../../../pypy/objspace/thunk.py
+.. _trace:                  ../../../../pypy/objspace/trace.py
+.. _flow:                   ../../../../pypy/objspace/flow/
+.. _translator.py:          ../../../../pypy/translator/translator.py
 .. _mailing lists:          index.html
 .. _documentation:          docindex.html 
 .. _unit tests:             coding-guide.html#test-design

pypy/doc/objspace-proxies.rst

 lists, dicts, exceptions, tracebacks and frames.
 
 .. _`standard object space`: objspace.html#the-standard-object-space
-.. _`proxy_helpers.py`: ../../pypy/objspace/std/proxy_helpers.py
-.. _`proxyobject.py`: ../../pypy/objspace/std/proxyobject.py
-.. _`transparent.py`: ../../pypy/objspace/std/transparent.py
+.. _`proxy_helpers.py`: ../../../../pypy/objspace/std/proxy_helpers.py
+.. _`proxyobject.py`: ../../../../pypy/objspace/std/proxyobject.py
+.. _`transparent.py`: ../../../../pypy/objspace/std/transparent.py
 .. _`tputil.py`: ../../lib_pypy/tputil.py
 
 .. [D12.1] `High-Level Backends and Interpreter Feature Prototypes`, PyPy

pypy/doc/objspace.rst

 using plain integers instead is the complex path, not the other way
 around.
 
-.. _StdObjSpace: ../objspace/std/
+.. _StdObjSpace: ../../../../pypy/objspace/std/
 
 
 Object types
 For other examples of multiple implementations of the same Python type,
 see `Standard Interpreter Optimizations`_.
 
-.. _`listtype.py`: ../objspace/std/listtype.py
-.. _`stringtype.py`: ../objspace/std/stringtype.py
-.. _`tupletype.py`: ../objspace/std/tupletype.py
-.. _`tupleobject.py`: ../objspace/std/tupleobject.py
+.. _`listtype.py`: ../../../../pypy/objspace/std/listtype.py
+.. _`stringtype.py`: ../../../../pypy/objspace/std/stringtype.py
+.. _`tupletype.py`: ../../../../pypy/objspace/std/tupletype.py
+.. _`tupleobject.py`: ../../../../pypy/objspace/std/tupleobject.py
 
 .. _`Standard Interpreter Optimizations`: interpreter-optimizations.html
 
 alone are not enough for the Standard Object Space: the complete picture
 spans several levels in order to emulate the exact Python semantics.
 
-.. __: ../objspace/std/multimethod.py
+.. __: ../../../../pypy/objspace/std/multimethod.py
 
 Consider the example of the ``space.getitem(w_a, w_b)`` operation,
 corresponding to the application-level syntax ``a[b]``.  The Standard
     v3 = add(v2, Constant(2))
 
 
-.. _FlowObjSpace: ../objspace/flow/
+.. _FlowObjSpace: ../../../../pypy/objspace/flow/
 
 
 The Flow model

pypy/doc/rlib.rst

 to change at some point.  Usually it is useful to look at the tests in
 `pypy/rlib/test`_ to get an impression of how to use a module.
 
-.. _`pypy/rlib`: ../../pypy/rlib
-.. _`pypy/rlib/test`: ../../pypy/rlib/test
+.. _`pypy/rlib`: ../../../../pypy/rlib
+.. _`pypy/rlib/test`: ../../../../pypy/rlib/test
 
 ``listsort``
 ============
 be sorted using the ``listsort`` module in one program, otherwise the annotator
 will be confused.
 
-.. _listsort: ../../pypy/rlib/listsort.py
+.. _listsort: ../../../../pypy/rlib/listsort.py
 
 ``nonconst``
 ============
 ``NonConst`` will behave during annotation like that value, but no constant
 folding will happen.
 
-.. _nonconst: ../../pypy/rlib/nonconst.py
+.. _nonconst: ../../../../pypy/rlib/nonconst.py
 .. _`flow object space`: objspace.html#the-flow-object-space
 .. _`annotator`: translation.html#the-annotation-pass
 
     won't be allocated but represented by *tagged pointers**, that is pointers
     that have the lowest bit set.
 
-.. _objectmodel: ../../pypy/rlib/objectmodel.py
+.. _objectmodel: ../../../../pypy/rlib/objectmodel.py
 
 
 ``rarithmetic``
 in the behaviour of arithmetic code in regular Python and RPython code. Most of
 them are already described in the `coding guide`_
 
-.. _rarithmetic: ../../pypy/rlib/rarithmetic.py
+.. _rarithmetic: ../../../../pypy/rlib/rarithmetic.py
 .. _`coding guide`: coding-guide.html
 
 
 these underscores left out for better readability (so ``a.add(b)`` can be used
 to add two rbigint instances).
 
-.. _rbigint: ../../pypy/rlib/rbigint.py
+.. _rbigint: ../../../../pypy/rlib/rbigint.py
 
 
 ``rrandom``
 ``random`` method which returns a pseudo-random floating point number between
 0.0 and 1.0.
 
-.. _rrandom: ../../pypy/rlib/rrandom.py
+.. _rrandom: ../../../../pypy/rlib/rrandom.py
 
 ``rsocket``
 ===========
 so on, which is not suitable for RPython.  Instead, ``rsocket`` contains
 a hierarchy of Address classes, in a typical static-OO-programming style.
 
-.. _rsocket: ../../pypy/rlib/rsocket.py
+.. _rsocket: ../../../../pypy/rlib/rsocket.py
 
 
 ``rstack``
 
     f()
 
-.. _rstack: ../../pypy/rlib/rstack.py
+.. _rstack: ../../../../pypy/rlib/rstack.py
 
 
 ``streamio``
 by Guido van Rossum as `sio.py`_ in the CPython sandbox as a prototype for the
 upcoming new file implementation in Python 3000).
 
-.. _streamio: ../../pypy/rlib/streamio.py
+.. _streamio: ../../../../pypy/rlib/streamio.py
 .. _`sio.py`: http://svn.python.org/view/sandbox/trunk/sio/sio.py
 
 ``unroll``
 which wraps an iterator. Looping over the iterator in RPython code will not
 produce a loop in the resulting flow graph but will unroll the loop instead.
 
-.. _unroll: ../../pypy/rlib/unroll.py
+.. _unroll: ../../../../pypy/rlib/unroll.py
 
 ``parsing``
 ===========
 of the nonterminal and ``children`` which is a list of the children attributes.
 
 
-.. _`pypy.rlib.parsing.tree`: ../../pypy/rlib/parsing/tree.py
+.. _`pypy.rlib.parsing.tree`: ../../../../pypy/rlib/parsing/tree.py
 
 Visitors
 ++++++++
 
 
 .. _`Prolog interpreter`: http://codespeak.net/svn/pypy/lang/prolog/
-.. _parsing: ../../pypy/rlib/parsing/
+.. _parsing: ../../../../pypy/rlib/parsing/
 .. _`json format`: http://www.json.org

pypy/doc/translation.rst

 .. _`abstract interpretation`: theory.html#abstract-interpretation
 .. _`Flow Object Space`: objspace.html#the-flow-object-space
 .. _`interactive interface`: getting-started-dev.html#try-out-the-translator
-.. _`translatorshell.py`: ../../pypy/bin/translatorshell.py
+.. _`translatorshell.py`: ../../../../pypy/bin/translatorshell.py
 
 .. _`flow model`:
 .. _`control flow graphs`: 
     should not attempt to actually mutate such Constants.
 
 .. _`document describing object spaces`: objspace.html
-.. _`pypy.objspace.flow.model`: ../objspace/flow/model.py
+.. _`pypy.objspace.flow.model`: ../../../../pypy/objspace/flow/model.py
 
 
 .. _Annotator:
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.