#esolang #interpreters #cli

bin+lib esobox

Rust (重)实现各种 esolang

1 个不稳定版本

0.1.0 2022年6月27日

#26#interpreters

MIT 许可证

13KB
263

esobox

Rust (重)实现各种 esolang


lib.rs:

Rust (重)实现各种 esolang

通过统一的接口包含各种 esolang 的实现。由于许多语言有 I/O 作用的命令,每个实现除了源代码外,还以输入输出流为参数

pub fn run<I: BufRead, O: Write>(source: &str, input: &mut I, output: &mut O) -> Result<(), Error>

run 函数在成功运行时返回 Ok(()),如果程序由于某种错误而终止,则返回 Err(...)。Error 枚举对每种语言是唯一的,包含所有可能的错误情况。请参阅相应的文档以获取详细信息。

每种语言的实现都旨在“比简单的实现更快”,这通常通过将“半编译”为字节码来实现。

依赖项

~1.7–2.3MB
~41K SLoC