26 个版本 (2 个稳定版)
1.1.1-next.2 | 2024年8月10日 |
---|---|
1.1.1-next.1 | 2024年8月6日 |
1.1.0 | 2024年7月19日 |
1.0.0 | 2024年1月5日 |
1.0.0-alpha.4 | 2023年7月5日 |
#96 在 编程语言 中
881 每月下载量
275KB
4K SLoC
Brainfoamkit
本项目旨在在 Rust 中实现一个 brainfuck 解释器。此外,还旨在提供一个基于终端的 TUI,以便逐步理解和执行 brainfuck 程序。
构建
稳定版 | 测试版 | 夜间版 | MSRV (1.75.0) | |
---|---|---|---|---|
Linux | ||||
Windows | ||||
macos |
理由
Brainfuck 是一种有趣的图灵完备语言。它可以作为通用编程语言使用,但只有 8 个符号用于指令解释器。这使得实现既有趣又具有挑战性。
虽然存在多个 C 和 C++ 的 Brainfuck 解释器,但我相信 Rust 在内存安全、速度和零成本抽象方面的结合使其特别适合实现。此外,解释器在复杂度上预期不会太低,同时仅触及 Rust 能提供的特性的表面。因此,它为学习 Rust 的人提供了一个极好的教育机会。
详细信息
项目的主要详细信息可在 BrainFoamKit 书籍 中找到。
(计划) 功能
- 一个完整的 brainfuck 解释器,能够接收 brainfuck 程序并相应地执行
- 一个模块化系统,允许扩展和修改该解释器
- 一个可配置的 brainfuck 虚拟机来解释程序
- 一个完全功能的 TUI,用于可视化并逐步执行 brainfuck 程序
当前状态
- 实现虚拟机的基本构建块
- 实现虚拟机以运行代码
- 实现输入程序的解析器
- 设计可视化器的 TUI
- 实现包含虚拟机和解析器的 TUI
贡献
有关如何为项目做出贡献的详细信息,请参阅 贡献指南。
您可以通过 GitPod 为项目做出贡献。
行为准则
本项目受贡献者行为准则协约的规范。详细信息请参见 行为准则。
依赖项
~11-23MB
~324K SLoC