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:
>>> 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'
$ pip install brainfuck
$ git clone firstname.lastname@example.org:koirikivi/brainfuck.git $ cd brainfuck $ python setup.py install
OR just copy
brainfuck.py somewhere in your PYTHONPATH.
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
Run tests with
$ python test_brainfuck.py
- 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)
MIT (programs in the programs-directory may be licensed differently)