#brainfuck #cli #derivative #own #interpreter #json #json-file

bin+lib bf-derivatives-tools

让我们创建自己的 brainfuck 派生版本

4 个版本

0.4.0 2024年2月18日
0.3.2 2024年2月18日
0.3.1 2024年2月17日
0.3.0 2024年2月17日

#755 in 解析实现

Download history 34/week @ 2024-03-30 4/week @ 2024-04-06

每月95次下载

MIT 许可证

17KB
385 代码行

bf-derivatives-tools

让我们创建自己的 brainfuck 派生版本。

安装

cargo install bf-derivatives-tools

安装后,将提供两个命令。

  • bfi
    • brainfuck 派生解释器
  • bft
    • brainfuck 派生翻译器

用法

编辑 json 文件并编写语法规则

vim jojo-grammar.json
{
    "rshift": "ふるえるぞハート!",
    "lshift": "燃えつきるほどヒート!!",
    "inc": "オラ",
    "dec": "無駄",
    "write": "ァ!",
    "read": "やれやれだぜ",
    "loop_begin": "おまえの次のセリフは「",
    "loop_end": "」という!"
}

语法 json 文件格式

JSON 项目 brainfuck 命令
rshift >
lshift <
inc +
dec -
write .
read ,
loop_begin [
loop_end ]

运行程序

原始 brainfuck

bfi path/to/brainfuck/code/file

您的 brainfuck 派生版本

vim hello.jojo
ふるえるぞハート!
オラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラ
おまえの次のセリフは「燃えつきるほどヒート!!オラオラオラオラオラオラ
ふるえるぞハート!無駄」という!
燃えつきるほどヒート!!オラオラオラオラオラオラオラオラァ!
無駄無駄無駄ァ!
オラオラオラオラオラオラオラァ!!
オラオラオラァ!ふるえるぞハート!
オラオラオラオラオラオラオラオラオラオラオラオラオラオラオラオラ
おまえの次のセリフは「ふるえるぞハート!オラオラ燃えつきるほどヒート!!無駄」という!
ふるえるぞハート!オラオラオラオラオラオラオラオラオラオラオラオラァ!
無駄無駄無駄無駄無駄無駄無駄無駄無駄無駄無駄無駄ァ!
燃えつきるほどヒート!!燃えつきるほどヒート!!オラオラオラオラオラオラオラオラァ!
無駄無駄無駄無駄無駄無駄無駄無駄ァ!
オラオラオラァ!
無駄無駄無駄無駄無駄無駄ァ!
無駄無駄無駄無駄無駄無駄無駄無駄ァ!
ふるえるぞハート!
ふるえるぞハート!
オラオラオラオラオラオラオラオラオラオラオラオラオラオラァ!

运行解释器

bfi path/to/hello.jojo -g path/to/jojo-grammar.json

输出

hello, world.

翻译 bf 代码 -> bf-derivative 代码

bft path/to/bf-code-file/ -t path/to/bf-derivative-grammar.json

翻译 bf-derivative 代码 -> bf 代码

bft path/to/bf-derivative-code-file/ -f path/to/bf-derivative-grammar.json

结果将输出到 stdout。

卸载

cargo uninstall bf-derivatives-tools

依赖关系

~3.5–5.5MB
~101K SLoC