#brainfuck #nom #interpreter #parser

bin+lib brainfuck_rs

使用 nom 实现的 Brainfuck 解析器和解释器

8 个版本 (4 个稳定版)

2.0.0 2019年2月5日
1.1.1 2017年4月27日
1.1.0 2017年3月20日
1.0.0 2017年2月7日
0.1.0 2016年12月1日

#2029解析实现

MIT 许可证

17KB
402

brainfuck.rs

Build Status Coverage Status

使用 Rust 编写并使用 nom 实现的 Brainfuck 解析器和解释器

解释器示例

cargo run --bin bf examples/bottles.bf

解析器示例

extern crate brainfuck;

use brainfuck::context::Context;
use brainfuck::parser;

fn main() {
    let hello_world = include_bytes!("hello_world.bf");
    let mut ctx     = Context::new();
    let block       = parser::parse(hello_world).expect("Failed parsing input file");
    ctx.run(&block);
}

您可以通过运行 cargo run --example hello_world 来尝试这个

依赖项

~1.5MB
~24K SLoC