跳转到主要内容

Brainfuck 到 Python AST 编译和集成

项目描述

brainfuck.py - 在Python代码中无缝使用Brainfuck

brainfuck.py 将Brainfuck程序编译成Python AST,使得工业级Brainfuck程序可以与Python代码集成。示例

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

为了方便,还提供了一个导入钩子

>>> 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 python-brainfuck

或者

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

或者只需将 brainfuck.py 复制到您的PYTHONPATH中的某个位置。

平台支持

支持并测试了Python 2、3和PyPy的最新版本。其他支持ast模块的Python版本也应正常工作,但未经测试。

单元测试

使用 $ python test_brainfuck.py 运行测试

待办事项

  • 对由brainfuck生成的AST的优化(这是一个大问题!)
  • 更多测试
  • 使用tox运行测试
  • Python AST 到 brainfuck 编译(可能需要一些时间)

许可证

MIT(程序目录中的程序可能具有不同的许可证)

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

python-brainfuck-0.9.1.tar.gz (6.1 kB 查看哈希值)

上传时间:

构建分布

python_brainfuck-0.9.1-py2.py3-none-any.whl (5.7 kB 查看哈希值)

上传时间: Python 2 Python 3

支持者