本项目是用 Rust 语言实现的 Brainfuck 解释器和 JIT 编译器,支持 Brainfuck 代码的解析、执行与优化。适合学习解释器、编译器原理及 Rust 实践。
.
├── Cargo.toml # Rust 项目配置文件
├── src/ # 源码目录
│ ├── main.rs # 程序入口
│ ├── Interpreter.rs # 解释器实现
│ ├── jit_compiler.rs # JIT 编译器实现
│ ├── IR.rs # 中间表示(IR)相关
│ └── opcode.rs # 操作码定义
├── res/ # Brainfuck 示例程序
│ ├── HelloWorld.bf
│ ├── a.bf
│ ├── io.bf
│ └── mandelbrot.bf
└── target/ # 编译输出目录
- 支持 Brainfuck 语言的完整指令集
- 解释执行与 JIT 编译两种运行模式
- 丰富的示例程序
- 代码结构清晰,便于扩展
- 安装 Rust
cargo build --release以解释器模式运行:
cargo run --release -- -ir res/HelloWorld.bf如果是下载已经编译的二进制文件,可以直接运行:
./brainfuck.exe -ir ./yourcode.bf如需运行其他示例,将路径替换为对应 .bf 文件。
如项目支持 JIT,可通过命令行参数切换:
cargo run --release -- --jit res/HelloWorld.bf如果是下载已经编译的二进制文件,可以直接运行:
./brainfuck.exe -jit ./yourcode.bf(具体参数请参考 main.rs 或命令行帮助)
HelloWorld.bf:输出 Hello, World!mandelbrot.bf:Mandelbrot 集合渲染io.bf:输入输出演示
src/Interpreter.rs:Brainfuck 解释器核心逻辑src/jit_compiler.rs:JIT 编译器实现src/IR.rs:中间表示定义与优化src/opcode.rs:操作码与指令集定义src/main.rs:命令行参数解析与程序入口
欢迎提交 issue 和 PR,改进代码或补充文档。
- Fork 本仓库
- 新建分支进行开发
- 提交 PR 并描述你的更改
本项目采用 MIT 许可证,详见 LICENSE。