#brainfuck-compiler #x86-64 #brainfuck #compiler #asm

bin+lib bfc-rs

针对 x86-64 Linux 的 Rust 实现的 Brainfuck 编译器

1 个稳定版本

1.1.0 2021 年 1 月 6 日

#1152开发工具

MIT 许可协议

29KB
737

BFC-RS

BFC-RS 是一个功能齐全的 x86_64 Linux Brainfuck 编译器,使用 Rust 实现。如果您想了解其开发过程,可以阅读我博客上的《糟糕的用于无用语言的编译器》系列文章:https://oreganoli.github.io/blog/3/

特性

  • 为任何 Brainfuck 程序生成可执行的程序
  • 在编译时优化程序以减少磁盘空间/内存使用和执行时间
  • 可选地生成汇编代码以供人工检查

手动构建和安装

cargo buildcargo install 完全足够。

依赖项

BFC-RS 需要 nasmld 可用。

使用方法

bfc-rs <source_filename> [-o <output-filename>] [--dump-nasm] [--no-cleanup]
Options:
  -o, --output-filename
                    output filename (must be provided unless --dump-nasm is
                    explicitly passed)
  --no-cto          disable compile-time optimizations
  --dump-nasm       instead of compiling, print raw NASM output to stdout for
                    debugging
  --no-cleanup      do not clean up build directory after successful build
  --help            display usage information

许可和归属

由于此代码涉及 Brainfuck,我们已经使用了“fuck”这个词,所以我通常认为将此代码许可给 WTFPL 没有问题。然而,此仓库使用了 argh,其 MIT 许可协议与该协议不兼容,以及用于开发 BFC-RS 的 Daiki Maekawabrainfuck-echo 程序。

BFC-RS 本身也使用 MIT 许可协议。

依赖项

~0.5–1.1MB
~25K SLoC