Skip to main content
Warning: You are using the test version of PyPI. This is a pre-production deployment of Warehouse. Changes made here affect the production instance of TestPyPI (testpypi.python.org).
Help us improve Python packaging - Donate today!

Brainfuck to Python AST compilation and integration

Project Description
brainfuck.py - seamless usage of Brainfuck in Python code
=========================================================

brainfuck.py compiles Brainfuck programs to Python AST, enabling the
integration of industial-strength Brainfuck programs with Python code. Example:


>>> import brainfuck
>>> hello = brainfuck.to_function("""
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>
.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
""")
>>> hello()
'Hello World!\n'


For convenience, an import hook is also provided:

python
>>> brainfuck.install_import_hook()
>>> # Note: programs is a python package (with __init__.py
# and a brainfuck file named rot13.bf)
>>> from programs import rot13
>>> rot13.rot13("brainfuck")
'oenvashpx'
>>> # The module can also be called directly
>>> rot13("foobar")
'sbbone'



Installation
------------

```
$ pip install brainfuck
```

OR

```
$ git clone git@github.com:koirikivi/brainfuck.git
$ cd brainfuck
$ python setup.py install
```

OR just copy ``brainfuck.py`` somewhere in your PYTHONPATH.


Platform support
----------------

Latest versions of Python 2, 3 and PyPy are supported and tested. Other Python
versions that have support for the ``ast`` module should work too, but are not
tested.


Unit tests
----------

Run tests with ``$ python test_brainfuck.py``


TODO
----

- Optimizations for the brainfuck-generated AST (this is a big one!)
- More tests
- Running tests with tox
- Python AST to brainfuck compilation (may take some time)


License
-------

MIT (programs in the programs-directory may be licensed differently)
Release History

Release History

This version
History Node

0.9.0

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
brainfuck-0.9.0-py2.py3-none-any.whl (8.1 kB) Copy SHA256 Checksum SHA256 py2.py3 Wheel Apr 8, 2015
brainfuck-0.9.0.tar.gz (6.8 kB) Copy SHA256 Checksum SHA256 Source Apr 8, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting