3 个版本
0.0.3 | 2020年5月12日 |
---|---|
0.0.2 | 2020年5月11日 |
0.0.1 | 2020年5月10日 |
#24 in #lox
125KB
3.5K SLoC
lox-lang:Lox 运行时库
Lox 是 Bob Nystrom 为他的书 Crafting Interpreters 设计的一种(主要)玩具脚本语言。这个库(以及包含的包装二进制文件)实现了为它设计的虚拟机运行时,可以独立使用或嵌入到更大的应用程序中。有关使用信息,请参阅 crate 文档。
lib.rs
:
Lox 编程语言的实现。
关于 Lox
Lox 是一种动态类型的解释型脚本语言。它由 Bob Nystrom 为他的书 Crafting Interpreters 设计。
关于这个实现
这个库旨在忠实于书中提出的近似规范实现 Lox,以及作为读者练习建议的一些语言扩展。它大致基于书的第三部分,即用 C 实现解释器的指南。
用法
本包中包含一个小型的包装可执行文件(可以通过 cargo install lox_lang
安装)名为 loxi
。这是尝试 Lox 语言的简单途径。
如果您想在更大的 Rust 项目中嵌入 Lox,您需要创建一个 VM
实例,并使用它的 interpret
方法来运行您的代码。
let mut my_vm = lox_lang::VM::default();
my_vm.interpret(r#" print "hello " + "world"; "#).unwrap();
依赖关系
~5.5MB
~108K SLoC