This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Yet another Python brainfuck interpreter

Project Description

pybrainfuck

pybrainfuck is yet another Python BrainFuck implementation. The goal is not be the fastest or most efficient but rather to be extensive in the implementation, configurable and extendable.

It contains a BrainFck class which can be directly used or subclassed to use in scripts. The code is fully documented and commented.

Or else the pip installed script pybrainfuck can be directly used.

Documentation

Read the full documentation at readthedocs.org:

Python 2/3 Support

  • Python 2.7
  • Python 3.2/3.3/3.4/3.5
  • It also works with pypy and pypy3

Installation

From pypi:

pip install pybrainfuck

From source:

  • Place the pybrainfuck directory found in the sources inside your project and import it

Scriptwise:

  • The entire implementation has been kept inside a single file. You can copy it inside other sources too

Quick Usage

Let’s quickly put together a script:

from __future__ import (absolute_import, division, print_function,
                        unicode_literals)

import sys

from pybrainfuck import BrainFck

if name == '__main__':

    bfck = BrainFck()

    for arg in sys.argv[1:]:
        print('-' * 50)
        print('Running:', arg)
        print('-' * 50)
        bfck.runfile(arg)
        print()

And prepare a Hello World (including a newline) brainfuck program:

++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.

And both paired for a execution:

$ ./readme-example.py readme-example.b
--------------------------------------------------
Running: readme-example.b
--------------------------------------------------
Hello World!

Although the newlines after Hello World! are difficult to perceive.

Using the built-in script pybrainfuck:

$ pybrainfuck readme-example.b
Hello World!

Which luckily produces the same result.

Release History

Release History

This version
History Node

1.0.1

History Node

1.0.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
pybrainfuck-1.0.1-py2.py3-none-any.whl (13.5 kB) Copy SHA256 Checksum SHA256 2.7 Wheel Nov 16, 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