#brainfuck #visualizer #execution #built #visualize #testing

app ironmind

使用Rust编写的BrainF*ck解释器和代码执行可视化工具

34个版本

0.3.16 2024年3月15日
0.3.15 2024年3月3日
0.3.14 2024年2月28日
0.2.8 2023年12月17日
0.1.7 2023年11月28日

#34编程语言

Download history 147/week @ 2024-03-09 31/week @ 2024-03-16 5/week @ 2024-03-23 91/week @ 2024-03-30 35/week @ 2024-04-06 1/week @ 2024-05-18

1,434 每月下载量

MIT 许可证

1.5MB
385

Iron Mind 解释器

ironmind

使用Rust编写的BrainF*ck解释器和代码执行可视化工具

Crates.io Crates.io Crates.io ironmind

什么是BrainF*ck

安装说明

Cargo

cargo安装 ironmind

Homebrew

首先 brew tap jadens-arc/tap

然后 brew install ironmind

Snapcraft

snap install ironmind

用法

示例程序

myfile.bf
++++++++++++[>++++++<-]>.           H
>++++++++++[>++++++++++<-]>+.       e
>+++++++++[>++++++++++++<-]>..      l (printed twice)
>++++++++++[>+++++++++++<-]>+.      o
>++++[>+++++++++++<-]>.             (comma)
>++++[>++++++++<-]>.                (space)
>++++++++[>+++++++++++<-]>-.        W
>++++++++++[>+++++++++++<-]>+.      o
>++++++++++[>+++++++++++<-]>++++.   r
>+++++++++[>++++++++++++<-]>.       l
>++++++++++[>++++++++++<-]>.        d
>++++[>++++++++<-]>+.               (exclamation)
>+++[>+++<-]>+.                     (new line)

运行程序

ironmind myfile.bf

输出

Hello, World!

可视化执行

ironmind -v myfile.bf

输出: visualizer

构建说明

系统依赖

  • Rust
  • Cargo

Rust 依赖(这些会自动安装)

  • Clap用于处理命令行参数和标志
  • Cursive用于TUI

构建说明

  • Cursive是ncurses Linux库的包装器
    • 如果您的机器上没有这个库,则在构建Ironmind之前必须安装它
    • 在Debian系统上,可以使用以下命令安装ncurses:sudo apt install libncurses5-dev libncursesw5-dev

运行调试/测试

git clone https://github.com/Jadens-arc/Ironmind
cd Ironmind
cargo run myfile.bf

要运行自动化测试,请运行

cargo test

测试在 src/tests

编译可执行文件

git clone https://github.com/Jadens-arc/Ironmind
cd Ironmind
cargo build --release

可执行文件将在 target/release/ironmind 找到

使用 ./ironmind 运行

如果您想将其移动到 Bin/ 目录,请随意

如果您移动了它,您可以在系统上的任何位置使用 ironmind myfile.bf

我还找到了一个来自2005年的非常酷的BrainF*ck程序,它由Andrew Paczkowski输出99瓶啤酒

绝对值得一试

依赖关系

~7MB
~118K SLoC