Skip to main content

脑残解析器

项目描述

脑残

纯python Brainfuck解析器,解释器包括优化,翻译成python AST和python代码

安装

pip install brainfuck-venomlab

用法

从代码

from brainfuck import Brainfuck
from brainfuck.contrib import execute, to_python_ast, to_python_code

source_code = "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++."

bf = Brainfuck.compile(source_code)
# Execute code directly
execute(bf)

# Optimize
bf = bf.optimize()

# Get python code
python_code = to_python_code(bf)  # type: str

# Get python AST
program = to_python_ast(bf)  # type: ast.AST
# Compile AST info code object with `exec` mode - it's module
executable = compile(program, "program.py", "exec")
# Either exec or eval
exec(executable)

从命令行

从 *.bf 文件执行brainfuck:

brainfuck -f examples/hw.bf
# Hello World!

从命令行执行brainfuck:

brainfuck -c "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++."
# Hello

将brainfuck翻译成带有-py标志的python:

brainfuck -py -c "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++."
# buffer = bytearray(30000)
# index = 0
# buffer[index] += 1
# buffer[index] += 1
# buffer[index] += 1
# ...
# print(chr(buffer[index]), end='')

-o使用标志启用优化:

brainfuck -py -o -c "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++."
# buffer = bytearray(30000)
# index = 0
# buffer[index] += 10
# ...
# buffer[index] += 3
# print(chr(buffer[index]), end='')

将python输出写入文件:

brainfuck -py -out "hw.py" -o -c "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++."
# file `hw.py` is created

项目详情


下载文件

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

源分布

Brainfuck-venomlab-0.1.1.tar.gz (8.4 kB 查看哈希

已上传 source

内置分布

Brainfuck_venomlab-0.1.1-py3-none-any.whl (9.6 kB 查看哈希

已上传 py3