26 个版本 (2 个稳定版)

1.1.1-next.22024年8月10日
1.1.1-next.12024年8月6日
1.1.0 2024年7月19日
1.0.0 2024年1月5日
1.0.0-alpha.42023年7月5日

#96编程语言

Download history 200/week @ 2024-07-12 483/week @ 2024-07-19 24/week @ 2024-07-26 85/week @ 2024-08-02 89/week @ 2024-08-09

881 每月下载量

MIT/Apache

275KB
4K SLoC

Brainfoamkit

GitHub release (latest by date) GitHub tag (latest SemVer) Continuous integration REUSE status

本项目旨在在 Rust 中实现一个 brainfuck 解释器。此外,还旨在提供一个基于终端的 TUI,以便逐步理解和执行 brainfuck 程序。

构建

稳定版 测试版 夜间版 MSRV (1.75.0)
Linux Ubuntu x Stable Rust Ubuntu x Beta Rust Ubuntu x Nightly Rust Ubuntu x MSRV Rust
Windows Windows x Stable Rust Windows x Beta Rust Windows x Nightly Rust Windows x MSRV Rust
macos macos x Stable Rust macos x Beta Rust macos x Nightly Rust macos x MSRV Rust

理由

Brainfuck 是一种有趣的图灵完备语言。它可以作为通用编程语言使用,但只有 8 个符号用于指令解释器。这使得实现既有趣又具有挑战性。

虽然存在多个 C 和 C++ 的 Brainfuck 解释器,但我相信 Rust 在内存安全、速度和零成本抽象方面的结合使其特别适合实现。此外,解释器在复杂度上预期不会太低,同时仅触及 Rust 能提供的特性的表面。因此,它为学习 Rust 的人提供了一个极好的教育机会。

详细信息

项目的主要详细信息可在 BrainFoamKit 书籍 中找到。

(计划) 功能

  • 一个完整的 brainfuck 解释器,能够接收 brainfuck 程序并相应地执行
  • 一个模块化系统,允许扩展和修改该解释器
  • 一个可配置的 brainfuck 虚拟机来解释程序
  • 一个完全功能的 TUI,用于可视化并逐步执行 brainfuck 程序

当前状态

  • 实现虚拟机的基本构建块
  • 实现虚拟机以运行代码
  • 实现输入程序的解析器
  • 设计可视化器的 TUI
  • 实现包含虚拟机和解析器的 TUI

贡献

有关如何为项目做出贡献的详细信息,请参阅 贡献指南

您可以通过 GitPod 为项目做出贡献。

Open in Gitpod

行为准则

本项目受贡献者行为准则协约的规范。详细信息请参见 行为准则

依赖项

~11-23MB
~324K SLoC