Commit c4cbb39a authored by Carl Friedrich Bolz-Tereick's avatar Carl Friedrich Bolz-Tereick
Browse files

merge the documentation-cleanup branch

......@@ -17,6 +17,7 @@ syntax: regexp
^pypy/module/cpyext/test/.+\.manifest$
^pypy/module/test_lib_pypy/ctypes_tests/.+\.o$
^pypy/doc/.+\.html$
^pypy/doc/config/.+\.rst$
^pypy/doc/basicblock\.asc$
^pypy/doc/.+\.svninfo$
^pypy/translator/c/src/libffi_msvc/.+\.obj$
......
......@@ -37,78 +37,154 @@ copyrighted by one or more of the following people and organizations:
Armin Rigo
Maciej Fijalkowski
Carl Friedrich Bolz
Samuele Pedroni
Amaury Forgeot d'Arc
Antonio Cuni
Samuele Pedroni
Michael Hudson
Christian Tismer
Holger Krekel
Christian Tismer
Benjamin Peterson
Eric van Riet Paap
Anders Chrigström
Håkan Ardö
Richard Emslie
Anders Chrigstrom
Amaury Forgeot d Arc
Aurelien Campeas
Dan Villiom Podlaski Christiansen
Alexander Schremmer
Alex Gaynor
David Schneider
Aurelién Campeas
Anders Lehmann
Camillo Bruni
Niklaus Haldimann
Seo Sanghyeon
Leonardo Santagada
Toon Verwaest
Seo Sanghyeon
Lawrence Oluyede
Bartosz Skowron
Jakub Gustak
Guido Wesdorp
Benjamin Peterson
Alexander Schremmer
Niko Matsakis
Adrien Di Mascio
Laura Creighton
Ludovic Aubry
Niko Matsakis
Daniel Roberts
Jason Creighton
Jacob Hallén
Alex Martelli
Toon Verwaest
Anders Hammarquist
Jan de Mooij
Stephan Diehl
Adrien Di Mascio
Michael Foord
Stefan Schwarzer
Tomek Meka
Patrick Maupin
Jacob Hallen
Laura Creighton
Bob Ippolito
Camillo Bruni
Simon Burton
Bruno Gola
Alexandre Fayolle
Marius Gedminas
Simon Burton
Jean-Paul Calderone
John Witulski
Wim Lavrijsen
Andreas Stührk
Jean-Philippe St. Pierre
Guido van Rossum
Pavel Vinogradov
Valentino Volonghi
Adrian Kuhn
Paul deGrandis
Adrian Kuhn
tav
Georg Brandl
Gerald Klix
Wanja Saatkamp
Anders Hammarquist
Boris Feigin
Oscar Nierstrasz
Dario Bertini
David Malcolm
Eugene Oden
Henry Mason
Lukas Renggli
Guenter Jantzen
Dinu Gherman
Bartosz Skowron
Georg Brandl
Ronny Pfannschmidt
Bert Freudenberg
Amit Regmi
Ben Young
Jean-Paul Calderone
Nicolas Chauvat
Andrew Durdin
Michael Schneider
Nicholas Riley
Rocco Moretti
Gintautas Miliauskas
Michael Twomey
boria
Jared Grubb
Igor Trindade Oliveira
Lucian Branescu Mihaila
Olivier Dormond
Jared Grubb
Karl Bartel
Gabriel Lavoie
Brian Dorsey
Victor Stinner
Stuart Williams
Jens-Uwe Mager
Toby Watson
Antoine Pitrou
Justas Sadzevicius
Neil Shepperd
Mikael Schönenberg
Brian Dorsey
Gasper Zejn
Jonathan David Riehl
Beatrice During
Elmo Mäntynen
Andreas Friedge
Alex Gaynor
Anders Qvist
Beatrice Düring
Alexander Sedov
Vincent Legoll
Alan McIntyre
Bert Freudenberg
Tav
Romain Guillebert
Alex Perry
Jens-Uwe Mager
Dan Stromberg
Lukas Diekmann
Carl Meyer
Pieter Zieschang
Alejandro J. Cura
Sylvain Thenault
Travis Francis Athougies
Henrik Vendelbo
Lutz Paelike
Jacob Oscarson
Martin Blais
Lucio Torre
Lene Wagner
Miguel de Val Borro
Ignas Mikalajunas
Artur Lisiecki
Joshua Gilbert
Godefroid Chappelle
Yusei Tahara
Christopher Armstrong
Stephan Busemann
Gustavo Niemeyer
William Leslie
Akira Li
Kristján Valur Jonsson
Bobby Impollonia
Andrew Thompson
Anders Sigfridsson
Jacek Generowicz
Dan Colish
Sven Hager
Zooko Wilcox-O Hearn
Anders Hammarquist
Dinu Gherman
Dan Colish
Daniel Neuhäuser
Michael Chermside
Konrad Delong
Anna Ravencroft
Greg Price
Armin Ronacher
Jim Baker
Philip Jenvey
Rodrigo Araújo
Heinrich-Heine University, Germany
Open End AB (formerly AB Strakt), Sweden
......
#! /usr/bin/env python
import autopath, sys
from pypy.translator.cli.carbonpython import main
main(sys.argv)
......@@ -28,9 +28,6 @@ class __extend__(Option):
fullpath = get_fullpath(self, path)
result = Rest(
Title(fullpath, abovechar="=", belowchar="="),
Directive("contents"),
Paragraph(Link("back to parent", path + ".html")),
Title("Basic Option Information"),
ListItem(Strong("name:"), self._name),
ListItem(Strong("description:"), self.doc))
if self.cmdline is not None:
......@@ -132,47 +129,27 @@ class __extend__(OptionDescription):
def make_rest_doc(self, path=""):
fullpath = get_fullpath(self, path)
content = Rest(
Title(fullpath, abovechar="=", belowchar="="),
Directive("contents"))
if path:
content.add(
Paragraph(Link("back to parent", path + ".html")))
Title(fullpath, abovechar="=", belowchar="="))
toctree = []
for child in self._children:
subpath = fullpath + "." + child._name
toctree.append(subpath)
content.add(Directive("toctree", *toctree, maxdepth=4))
content.join(
Title("Basic Option Information"),
ListItem(Strong("name:"), self._name),
ListItem(Strong("description:"), self.doc),
Title("Sub-Options"))
ListItem(Strong("description:"), self.doc))
stack = []
prefix = fullpath
curr = content
config = Config(self)
for ending in self.getpaths(include_groups=True):
subpath = fullpath + "." + ending
while not (subpath.startswith(prefix) and
subpath[len(prefix)] == "."):
curr, prefix = stack.pop()
print subpath, fullpath, ending, curr
sub, step = config._cfgimpl_get_home_by_path(ending)
doc = getattr(sub._cfgimpl_descr, step).doc
if doc:
new = curr.add(ListItem(Link(subpath + ":", subpath + ".html"),
Em(doc)))
else:
new = curr.add(ListItem(Link(subpath + ":", subpath + ".html")))
stack.append((curr, prefix))
prefix = subpath
curr = new
return content
def _get_section_header(cmdline, fullpath, subdescr):
# XXX: pypy specific hack
txtfile = configdocdir.join(fullpath + ".txt")
print txtfile,
if not txtfile.check():
print "not found"
print txtfile, "not found"
return ""
print "found"
content = txtfile.read()
if ".. internal" in content:
return "Internal Options"
......@@ -221,7 +198,7 @@ def register_config_role(docdir):
from docutils import nodes
from pypy.config.pypyoption import get_pypy_config
from pypy.config.makerestdoc import get_cmdline
txt = docdir.join("config", text + ".txt")
txt = docdir.join("config", text + ".rst")
html = docdir.join("config", text + ".html")
assert txt.check()
assert name == "config"
......@@ -247,9 +224,8 @@ def register_config_role(docdir):
shortest_long_option = cmd
text = shortest_long_option
target = prefix + relative
print text, target
reference_node = nodes.reference(rawtext, text, name=text, refuri=target)
return [reference_node], []
config_role.content = True
config_role.options = {}
roles.register_canonical_role("config", config_role)
return config_role
......@@ -20,14 +20,14 @@ def generate_html(descr):
config = Config(descr)
txt = descr.make_rest_doc().text()
result = {"": checkrest(txt, descr._name + ".txt")}
result = {"": txt}
for path in config.getpaths(include_groups=True):
subconf, step = config._cfgimpl_get_home_by_path(path)
fullpath = (descr._name + "." + path)
prefix = fullpath.rsplit(".", 1)[0]
txt = getattr(subconf._cfgimpl_descr, step).make_rest_doc(
prefix).text()
result[path] = checkrest(txt, fullpath + ".txt")
result[path] = txt
return result
def test_simple():
......@@ -68,7 +68,6 @@ def test_bool_requires_suggests():
ChoiceOption("bar", "more doc", ["a", "b", "c"],
default="a")])
result = generate_html(descr)
assert "more doc" in result[""]
def test_cmdline_overview():
descr = OptionDescription("foo", "doc", [
......
......@@ -31,32 +31,38 @@ clean:
-rm -rf $(BUILDDIR)/*
html:
python config/generate.py
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
dirhtml:
python config/generate.py
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
pickle:
python config/generate.py
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
@echo
@echo "Build finished; now you can process the pickle files."
json:
python config/generate.py
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
@echo
@echo "Build finished; now you can process the JSON files."
htmlhelp:
python config/generate.py
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in $(BUILDDIR)/htmlhelp."
qthelp:
python config/generate.py
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
......@@ -66,6 +72,7 @@ qthelp:
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/PyPy.qhc"
latex:
python config/generate.py
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
......@@ -73,17 +80,20 @@ latex:
"run these through (pdf)latex."
changes:
python config/generate.py
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
@echo
@echo "The overview file is in $(BUILDDIR)/changes."
linkcheck:
python config/generate.py
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in $(BUILDDIR)/linkcheck/output.txt."
doctest:
python config/generate.py
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in $(BUILDDIR)/doctest/output.txt."
......@@ -37,27 +37,29 @@ For explanations and examples see the `thunk object space docs`_.
.. _`thunk object space docs`: objspace-proxies.html#thunk
.. _`interface section of the thunk object space docs`: objspace-proxies.html#thunk-interface
Taint Object Space Functionality
================================
.. broken:
When the taint object space is used (choose with :config:`objspace.name`),
the following names are put into ``__pypy__``:
Taint Object Space Functionality
================================
- ``taint``
- ``is_tainted``
- ``untaint``
- ``taint_atomic``
- ``_taint_debug``
- ``_taint_look``
- ``TaintError``
When the taint object space is used (choose with :config:`objspace.name`),
the following names are put into ``__pypy__``:
Those are all described in the `interface section of the taint object space
docs`_.
- ``taint``
- ``is_tainted``
- ``untaint``
- ``taint_atomic``
- ``_taint_debug``
- ``_taint_look``
- ``TaintError``
Those are all described in the `interface section of the taint object space
docs`_.
For more detailed explanations and examples see the `taint object space docs`_.
For more detailed explanations and examples see the `taint object space docs`_.
.. _`taint object space docs`: objspace-proxies.html#taint
.. _`interface section of the taint object space docs`: objspace-proxies.html#taint-interface
.. _`taint object space docs`: objspace-proxies.html#taint
.. _`interface section of the taint object space docs`: objspace-proxies.html#taint-interface
Transparent Proxy Functionality
===============================
......
.. _`demo/`: ../../demo
.. _`demo/pickle_coroutine.py`: ../../demo/pickle_coroutine.py
.. _`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
.. _`interpreter/`:
.. _`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
.. _`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
.. _`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
.. _`lib/`:
.. _`lib_pypy/`: ../../lib_pypy
.. _`lib/distributed/`: ../../lib_pypy/distributed
.. _`lib_pypy/stackless.py`: ../../lib_pypy/stackless.py
.. _`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
.. _`objspace/`:
.. _`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
.. _`objspace/thunk.py`:
.. _`pypy/objspace/thunk.py`: ../../../../pypy/objspace/thunk.py
.. _`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
.. _`pypy/rpython`:
.. _`pypy/rpython/`:
.. _`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
.. _`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/js/`: http://codespeak.net/svn/pypy/branch/oo-jit/pypy/translator/js/
.. _`demo/`: https://bitbucket.org/pypy/pypy/src/default/demo/
.. _`demo/pickle_coroutine.py`: https://bitbucket.org/pypy/pypy/src/default/demo/pickle_coroutine.py
.. _`lib-python/`: https://bitbucket.org/pypy/pypy/src/default/lib-python/
.. _`lib-python/2.7.0/dis.py`: https://bitbucket.org/pypy/pypy/src/default/lib-python/2.7.0/dis.py
.. _`lib_pypy/`: https://bitbucket.org/pypy/pypy/src/default/lib_pypy/
.. _`lib_pypy/pypy_test/`: https://bitbucket.org/pypy/pypy/src/default/lib_pypy/pypy_test/
.. _`lib_pypy/stackless.py`: https://bitbucket.org/pypy/pypy/src/default/lib_pypy/stackless.py
.. _`lib_pypy/tputil.py`: https://bitbucket.org/pypy/pypy/src/default/lib_pypy/tputil.py
.. _`pypy/annotation`:
.. _`pypy/annotation/`: https://bitbucket.org/pypy/pypy/src/default/pypy/annotation/
.. _`pypy/annotation/annrpython.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/annotation/annrpython.py
.. _`pypy/annotation/binaryop.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/annotation/binaryop.py
.. _`pypy/annotation/builtin.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/annotation/builtin.py
.. _`pypy/bin/`: https://bitbucket.org/pypy/pypy/src/default/pypy/bin/
.. _`pypy/bin/translatorshell.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/bin/translatorshell.py
.. _`pypy/config/`: https://bitbucket.org/pypy/pypy/src/default/pypy/config/
.. _`pypy/config/pypyoption.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/config/pypyoption.py
.. _`pypy/config/translationoption.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/config/translationoption.py
.. _`pypy/doc/`: https://bitbucket.org/pypy/pypy/src/default/pypy/doc/
.. _`pypy/doc/config/`: https://bitbucket.org/pypy/pypy/src/default/pypy/doc/config/
.. _`pypy/doc/discussion/`: https://bitbucket.org/pypy/pypy/src/default/pypy/doc/discussion/
.. _`pypy/interpreter`:
.. _`pypy/interpreter/`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/
.. _`pypy/interpreter/argument.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/argument.py
.. _`pypy/interpreter/astcompiler`:
.. _`pypy/interpreter/astcompiler/`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/astcompiler/
.. _`pypy/interpreter/astcompiler/assemble.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/astcompiler/assemble.py
.. _`pypy/interpreter/astcompiler/ast.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/astcompiler/ast.py
.. _`pypy/interpreter/astcompiler/astbuilder.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/astcompiler/astbuilder.py
.. _`pypy/interpreter/astcompiler/asthelpers.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/astcompiler/asthelpers.py
.. _`pypy/interpreter/astcompiler/codegen.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/astcompiler/codegen.py
.. _`pypy/interpreter/astcompiler/optimize.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/astcompiler/optimize.py
.. _`pypy/interpreter/astcompiler/symtable.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/astcompiler/symtable.py
.. _`pypy/interpreter/astcompiler/tools/Python.asdl`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/astcompiler/tools/Python.asdl
.. _`pypy/interpreter/astcompiler/tools/asdl_py.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/astcompiler/tools/asdl_py.py
.. _`pypy/interpreter/baseobjspace.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/baseobjspace.py
.. _`pypy/interpreter/eval.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/eval.py
.. _`pypy/interpreter/executioncontext.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/executioncontext.py
.. _`pypy/interpreter/function.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/function.py
.. _`pypy/interpreter/gateway.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/gateway.py
.. _`pypy/interpreter/generator.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/generator.py
.. _`pypy/interpreter/mixedmodule.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/mixedmodule.py
.. _`pypy/interpreter/module.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/module.py
.. _`pypy/interpreter/nestedscope.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/nestedscope.py
.. _`pypy/interpreter/pyframe.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/pyframe.py
.. _`pypy/interpreter/pyopcode.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/pyopcode.py
.. _`pypy/interpreter/pyparser`:
.. _`pypy/interpreter/pyparser/`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/pyparser/
.. _`pypy/interpreter/pyparser/future.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/pyparser/future.py
.. _`pypy/interpreter/pyparser/metaparser.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/pyparser/metaparser.py
.. _`pypy/interpreter/pyparser/parser.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/pyparser/parser.py
.. _`pypy/interpreter/pyparser/pyparse.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/pyparser/pyparse.py
.. _`pypy/interpreter/pyparser/pytokenizer.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/pyparser/pytokenizer.py
.. _`pypy/interpreter/typedef.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/interpreter/typedef.py
.. _`pypy/module`:
.. _`pypy/module/`: https://bitbucket.org/pypy/pypy/src/default/pypy/module/
.. _`pypy/module/__builtin__/__init__.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/module/__builtin__/__init__.py
.. _`pypy/module/_stackless/test/test_composable_coroutine.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/module/_stackless/test/test_composable_coroutine.py
.. _`pypy/objspace`:
.. _`pypy/objspace/`: https://bitbucket.org/pypy/pypy/src/default/pypy/objspace/
.. _`pypy/objspace/dump.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/objspace/dump.py
.. _`pypy/objspace/flow`:
.. _`pypy/objspace/flow/`: https://bitbucket.org/pypy/pypy/src/default/pypy/objspace/flow/
.. _`pypy/objspace/flow/model.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/objspace/flow/model.py
.. _`pypy/objspace/std`:
.. _`pypy/objspace/std/`: https://bitbucket.org/pypy/pypy/src/default/pypy/objspace/std/
.. _`pypy/objspace/std/listtype.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/objspace/std/listtype.py
.. _`pypy/objspace/std/multimethod.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/objspace/std/multimethod.py
.. _`pypy/objspace/std/objspace.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/objspace/std/objspace.py
.. _`pypy/objspace/std/proxy_helpers.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/objspace/std/proxy_helpers.py
.. _`pypy/objspace/std/proxyobject.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/objspace/std/proxyobject.py
.. _`pypy/objspace/std/stringtype.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/objspace/std/stringtype.py
.. _`pypy/objspace/std/transparent.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/objspace/std/transparent.py
.. _`pypy/objspace/std/tupleobject.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/objspace/std/tupleobject.py
.. _`pypy/objspace/std/tupletype.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/objspace/std/tupletype.py
.. _`pypy/objspace/taint.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/objspace/taint.py
.. _`pypy/objspace/thunk.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/objspace/thunk.py
.. _`pypy/objspace/trace.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/objspace/trace.py
.. _`pypy/rlib`:
.. _`pypy/rlib/`: https://bitbucket.org/pypy/pypy/src/default/pypy/rlib/
.. _`pypy/rlib/listsort.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/rlib/listsort.py
.. _`pypy/rlib/nonconst.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/rlib/nonconst.py
.. _`pypy/rlib/objectmodel.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/rlib/objectmodel.py
.. _`pypy/rlib/parsing/`: https://bitbucket.org/pypy/pypy/src/default/pypy/rlib/parsing/
.. _`pypy/rlib/parsing/tree.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/rlib/parsing/tree.py
.. _`pypy/rlib/rarithmetic.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/rlib/rarithmetic.py
.. _`pypy/rlib/rbigint.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/rlib/rbigint.py
.. _`pypy/rlib/rrandom.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/rlib/rrandom.py
.. _`pypy/rlib/rsocket.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/rlib/rsocket.py
.. _`pypy/rlib/rstack.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/rlib/rstack.py
.. _`pypy/rlib/streamio.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/rlib/streamio.py
.. _`pypy/rlib/test`: https://bitbucket.org/pypy/pypy/src/default/pypy/rlib/test/
.. _`pypy/rlib/unroll.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/rlib/unroll.py
.. _`pypy/rpython`:
.. _`pypy/rpython/`: https://bitbucket.org/pypy/pypy/src/default/pypy/rpython/
.. _`pypy/rpython/lltypesystem/`: https://bitbucket.org/pypy/pypy/src/default/pypy/rpython/lltypesystem/
.. _`pypy/rpython/lltypesystem/lltype.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/rpython/lltypesystem/lltype.py
.. _`pypy/rpython/memory/`: https://bitbucket.org/pypy/pypy/src/default/pypy/rpython/memory/
.. _`pypy/rpython/memory/gc/generation.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/rpython/memory/gc/generation.py
.. _`pypy/rpython/memory/gc/hybrid.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/rpython/memory/gc/hybrid.py
.. _`pypy/rpython/memory/gc/markcompact.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/rpython/memory/gc/markcompact.py
.. _`pypy/rpython/memory/gc/marksweep.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/rpython/memory/gc/marksweep.py
.. _`pypy/rpython/memory/gc/minimark.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/rpython/memory/gc/minimark.py
.. _`pypy/rpython/memory/gc/minimarkpage.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/rpython/memory/gc/minimarkpage.py
.. _`pypy/rpython/memory/gc/semispace.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/rpython/memory/gc/semispace.py
.. _`pypy/rpython/ootypesystem/`: https://bitbucket.org/pypy/pypy/src/default/pypy/rpython/ootypesystem/
.. _`pypy/rpython/ootypesystem/ootype.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/rpython/ootypesystem/ootype.py
.. _`pypy/rpython/rint.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/rpython/rint.py