1 个稳定版本
1.1.0 | 2021 年 1 月 6 日 |
---|
#1152 在 开发工具 中
29KB
737 行
BFC-RS
BFC-RS 是一个功能齐全的 x86_64 Linux Brainfuck 编译器,使用 Rust 实现。如果您想了解其开发过程,可以阅读我博客上的《糟糕的用于无用语言的编译器》系列文章:https://oreganoli.github.io/blog/3/。
特性
- 为任何 Brainfuck 程序生成可执行的程序
- 在编译时优化程序以减少磁盘空间/内存使用和执行时间
- 可选地生成汇编代码以供人工检查
手动构建和安装
cargo build
和 cargo install
完全足够。
依赖项
BFC-RS 需要 nasm
和 ld
可用。
使用方法
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 Maekawa 的 brainfuck-echo 程序。
BFC-RS 本身也使用 MIT 许可协议。
依赖项
~0.5–1.1MB
~25K SLoC