5个不稳定版本
0.3.0 | 2023年5月18日 |
---|---|
0.2.1 | 2022年4月30日 |
0.2.0 | 2022年4月25日 |
0.1.1 | 2022年4月14日 |
0.1.0 | 2022年1月24日 |
#290 in 内存管理
61 每月下载量
用于 brainfuckm
66KB
1.5K SLoC
POETIC
Rust库,用于解析和解释诗歌源代码
它支持所有指令,并相应地处理数字转换,唯一的不同之处在于,如果需要,它会动态分配更多内存,而不是30,000字节。这意味着在“末尾”不可能出现内存指针环绕。也许将来可以通过选项实现。https://mcaweb.matc.edu/winslojr/vicom128/final/tutorial/index.html
测试
有解析器和解释器的测试,您可以使用
cargo test
用法
它首先解析字符串源输入,并将其解析为中间操作码数字表示。
let mut buf = fs::read_to_string("input.ptc").unwrap();
let intermediate = Parser::parse_intermediate(&buf);
然后,它将中间表示转换为指令。
let instructions = Parser::parse_instructions(&intermediate);
然后可以使用解释器执行这些指令
let mut interpreter = Interpreter::new(code);
interpreter.run();
您可以使用 run
方法让解释器完整执行,或者使用 step
方法逐条指令执行。
示例
可以在 https://github.com/mztikk/poetic_interpreter 找到示例用法,这是一个命令行应用程序,可以接受诗歌源文件并执行它。
依赖项
~245–680KB
~12K SLoC