脑残解析器
项目描述
脑残
纯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 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 6901988c8e708d9bcd1640feff7a1d3454f10714e17254321896455c0c4f2b66 |
|
| MD5 | 1e13598b5e25a3ecd02b458b5f6c7dab |
|
| 布莱克2-256 | 96d6a3707eddb0a5eaf50efc999c619bbf3410095c42decd7a5312e4a7f2dac3 |
关
Brainfuck_venomlab-0.1.1- py3 -none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 9a2e0dca663738176588815126538f1eec878b040fbf39c78d5a8e99e77f4506 |
|
| MD5 | a5573d0d4850ab9918dcd4527d74c6f9 |
|
| 布莱克2-256 | 03cceef0a8fce3ac9f91b652a5498bc64c6294cd02c819b861378d2980f1ee6f |