6个版本
使用旧的Rust 2015
0.1.5 | 2015年1月30日 |
---|---|
0.1.4 | 2015年1月24日 |
0.1.2 | 2014年12月13日 |
0.1.1 | 2014年11月14日 |
#1073 in 编程语言
9KB
146 行
一个简单的过程宏,将Brainfuck程序转换为本地代码。
示例
#![feature(phase)]
#[phase(plugin)] extern crate brainfuck_macros;
use std::io;
fn main() {
let hello_world = brainfuck!{
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>
---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
};
hello_world(&mut io::stdin(), &mut io::stdout()).unwrap();
}
查看 tests/
和 examples/
中的基本示例以及 bf_bf_interpreter
子包中的 Brainfuck解释器(用Brainfuck编写的)。
这是 Cargo启用 的,因此可以通过在 Cargo.toml 中添加指向此 Git 仓库的 [dependencies.brainfuck_macros]
部分来使用它。如果您还想使用 bf_bf_interpreter
,只需添加指向此仓库的 [dependencies.bf_bf_interpreter]
部分即可。
规格
正常的Brainfuck,具有
- 30000的带长度,
- 存储无符号字节(带回绕)的单元格,
- 通过返回-1表示EOF,并且
- 忽略超出范围的索引步长(即指向第一个单元格时的
<
被忽略,同样对于指向最后一个单元格的>
)。