Moved and updated LLPython (formerly LLNumba) documentation from Numba repository.
This commit is contained in:
parent
5b9885fc40
commit
22d8e0048b
19 changed files with 169 additions and 1 deletions
|
|
@ -25,7 +25,7 @@ import sys, os
|
||||||
|
|
||||||
# Add any Sphinx extension module names here, as strings. They can be extensions
|
# Add any Sphinx extension module names here, as strings. They can be extensions
|
||||||
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
||||||
extensions = ['sphinx.ext.mathjax']
|
extensions = ['sphinx.ext.mathjax', 'sphinx.ext.autodoc']
|
||||||
|
|
||||||
# Add any paths that contain templates here, relative to this directory.
|
# Add any paths that contain templates here, relative to this directory.
|
||||||
templates_path = ['_templates']
|
templates_path = ['_templates']
|
||||||
|
|
|
||||||
10
docs/source/doc/llpython/articles.rst
Normal file
10
docs/source/doc/llpython/articles.rst
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
LLPython Articles
|
||||||
|
=================
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:titlesonly:
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
intro_llpython.rst
|
||||||
|
nobitey_dev.rst
|
||||||
|
ctmp_in_llpython.rst
|
||||||
5
docs/source/doc/llpython/ctmp_in_llpython.rst
Normal file
5
docs/source/doc/llpython/ctmp_in_llpython.rst
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
Compile-time Metaprogramming in LLPython
|
||||||
|
========================================
|
||||||
|
|
||||||
|
In this article, we discuss how LLPython supports compile-time
|
||||||
|
metaprogramming.
|
||||||
9
docs/source/doc/llpython/index.rst
Normal file
9
docs/source/doc/llpython/index.rst
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
LLPython Documentation
|
||||||
|
======================
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:titlesonly:
|
||||||
|
:maxdepth: 2
|
||||||
|
|
||||||
|
articles.rst
|
||||||
|
reference.rst
|
||||||
46
docs/source/doc/llpython/intro_llpython.rst
Normal file
46
docs/source/doc/llpython/intro_llpython.rst
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
====================
|
||||||
|
Introducing LLPython
|
||||||
|
====================
|
||||||
|
|
||||||
|
In this article, we introduce the llpython package. The primary goal
|
||||||
|
of the llpython package is to provide a Python dialect/subset that
|
||||||
|
maps directly to LLVM code. LLPython differs from its originating
|
||||||
|
LLVM translator, Numba, in the following aspects:
|
||||||
|
|
||||||
|
* LLPython code is not intended to work in Python if not translated
|
||||||
|
and wrapped.
|
||||||
|
* The LLPython translator only uses LLVM types.
|
||||||
|
* LLPython is explicitly typed, and does not support type inference.
|
||||||
|
LLPython does not support implicit casts, all casts must be explicit.
|
||||||
|
* LLPython supports code that directly calls the C API, the Python C
|
||||||
|
API, and the llvm.core.Builder methods.
|
||||||
|
|
||||||
|
Additionally, we designed the sub-package to have the following
|
||||||
|
engineering properties:
|
||||||
|
|
||||||
|
* Usable from Python 2.7, and 3.X. At the time of writing, we plan
|
||||||
|
to support Python 2.6.
|
||||||
|
* Clean from Numba dependencies (other than llvmpy), and can be used
|
||||||
|
as a standalone code generator without a full Numba installation.
|
||||||
|
* Provides a series of Python bytecode passes that can be easily
|
||||||
|
used by other projects.
|
||||||
|
|
||||||
|
|
||||||
|
LLPython Origins
|
||||||
|
================
|
||||||
|
|
||||||
|
We developed LLPython with the initial goal of simplifying writing
|
||||||
|
LLVM code.
|
||||||
|
|
||||||
|
|
||||||
|
LLPython Internals
|
||||||
|
==================
|
||||||
|
|
||||||
|
In this section, we describe the various passes performed by the
|
||||||
|
LLPython translator.
|
||||||
|
|
||||||
|
|
||||||
|
Conclusions
|
||||||
|
===========
|
||||||
|
|
||||||
|
LLPython is neat.
|
||||||
6
docs/source/doc/llpython/llpython.byte_control.rst
Normal file
6
docs/source/doc/llpython/llpython.byte_control.rst
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
=====================
|
||||||
|
llpython.byte_control
|
||||||
|
=====================
|
||||||
|
|
||||||
|
.. automodule:: llpython.byte_control
|
||||||
|
:members:
|
||||||
6
docs/source/doc/llpython/llpython.byte_flow.rst
Normal file
6
docs/source/doc/llpython/llpython.byte_flow.rst
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
==================
|
||||||
|
llpython.byte_flow
|
||||||
|
==================
|
||||||
|
|
||||||
|
.. automodule:: llpython.byte_flow
|
||||||
|
:members:
|
||||||
6
docs/source/doc/llpython/llpython.byte_translator.rst
Normal file
6
docs/source/doc/llpython/llpython.byte_translator.rst
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
========================
|
||||||
|
llpython.byte_translator
|
||||||
|
========================
|
||||||
|
|
||||||
|
.. automodule:: llpython.byte_translator
|
||||||
|
:members:
|
||||||
6
docs/source/doc/llpython/llpython.bytecode_visitor.rst
Normal file
6
docs/source/doc/llpython/llpython.bytecode_visitor.rst
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
=========================
|
||||||
|
llpython.bytecode_visitor
|
||||||
|
=========================
|
||||||
|
|
||||||
|
.. automodule:: llpython.bytecode_visitor
|
||||||
|
:members:
|
||||||
6
docs/source/doc/llpython/llpython.bytetype.rst
Normal file
6
docs/source/doc/llpython/llpython.bytetype.rst
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
=================
|
||||||
|
llpython.bytetype
|
||||||
|
=================
|
||||||
|
|
||||||
|
.. automodule:: llpython.bytetype
|
||||||
|
:members:
|
||||||
6
docs/source/doc/llpython/llpython.control_flow.rst
Normal file
6
docs/source/doc/llpython/llpython.control_flow.rst
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
=====================
|
||||||
|
llpython.control_flow
|
||||||
|
=====================
|
||||||
|
|
||||||
|
.. automodule:: llpython.control_flow
|
||||||
|
:members:
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
=============================
|
||||||
|
llpython.gen_bytecode_visitor
|
||||||
|
=============================
|
||||||
|
|
||||||
|
.. automodule:: llpython.gen_bytecode_visitor
|
||||||
|
:members:
|
||||||
6
docs/source/doc/llpython/llpython.nobitey.rst
Normal file
6
docs/source/doc/llpython/llpython.nobitey.rst
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
================
|
||||||
|
llpython.nobitey
|
||||||
|
================
|
||||||
|
|
||||||
|
.. automodule:: llpython.nobitey
|
||||||
|
:members:
|
||||||
6
docs/source/doc/llpython/llpython.opcode_util.rst
Normal file
6
docs/source/doc/llpython/llpython.opcode_util.rst
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
====================
|
||||||
|
llpython.opcode_util
|
||||||
|
====================
|
||||||
|
|
||||||
|
.. automodule:: llpython.opcode_util
|
||||||
|
:members:
|
||||||
6
docs/source/doc/llpython/llpython.phi_injector.rst
Normal file
6
docs/source/doc/llpython/llpython.phi_injector.rst
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
=====================
|
||||||
|
llpython.phi_injector
|
||||||
|
=====================
|
||||||
|
|
||||||
|
.. automodule:: llpython.phi_injector
|
||||||
|
:members:
|
||||||
6
docs/source/doc/llpython/llpython.pyaddfunc.rst
Normal file
6
docs/source/doc/llpython/llpython.pyaddfunc.rst
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
==================
|
||||||
|
llpython.pyaddfunc
|
||||||
|
==================
|
||||||
|
|
||||||
|
.. automodule:: llpython.pyaddfunc
|
||||||
|
:members:
|
||||||
6
docs/source/doc/llpython/llpython.rst
Normal file
6
docs/source/doc/llpython/llpython.rst
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
========
|
||||||
|
llpython
|
||||||
|
========
|
||||||
|
|
||||||
|
.. automodule:: llpython
|
||||||
|
:members:
|
||||||
5
docs/source/doc/llpython/nobitey_dev.rst
Normal file
5
docs/source/doc/llpython/nobitey_dev.rst
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
nobitey: Using ctypes and llvmpy to Bypass ctypes
|
||||||
|
=================================================
|
||||||
|
|
||||||
|
In this article, we show how nobitey uses llvmpy to eliminate the
|
||||||
|
ctypes call overhead.
|
||||||
21
docs/source/doc/llpython/reference.rst
Normal file
21
docs/source/doc/llpython/reference.rst
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
LLPython Module Reference
|
||||||
|
=========================
|
||||||
|
|
||||||
|
Contents:
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:titlesonly:
|
||||||
|
:maxdepth: 2
|
||||||
|
|
||||||
|
llpython.rst
|
||||||
|
llpython.bytecode_visitor.rst
|
||||||
|
llpython.byte_control.rst
|
||||||
|
llpython.byte_flow.rst
|
||||||
|
llpython.byte_translator.rst
|
||||||
|
llpython.bytetype.rst
|
||||||
|
llpython.control_flow.rst
|
||||||
|
llpython.gen_bytecode_visitor.rst
|
||||||
|
llpython.nobitey.rst
|
||||||
|
llpython.opcode_util.rst
|
||||||
|
llpython.phi_injector.rst
|
||||||
|
llpython.pyaddfunc.rst
|
||||||
Loading…
Add table
Add a link
Reference in a new issue