4 个版本
0.1.0 | 2024年2月15日 |
---|---|
0.1.0-alpha4 |
|
0.1.0-alpha.3 | 2022年2月1日 |
0.1.0-alpha.1 | 2021年9月20日 |
0.0.1 |
|
#218 in 编程语言
每月21 次下载
1MB
29K SLoC
luallaby
该项目正在开发中。如果您需要合理的 Lua 解释器,请勿使用此版本(目前)。
这是一个完全用 Rust 编写的 Lua 编译器和解释器。该项目旨在提供一个完全兼容的 Lua 实现,包括 Lua 和 Rust 之间的互操作性。
待完成和实现事项
按特定顺序列出要实现的功能列表
- 完整的语言语法支持
- 适当的错误处理带有跟踪+上下文(不在每个问题上惊慌)
- Rust-Lua 互操作性
- 标准库
- 基本库
- 协程库
- 包库
- 字符串操作
- 基本的 UTF-8 支持
- 表格操作
- 数学函数
- 输入和输出
- 操作系统功能
- 调试功能
- 垃圾回收器
- 通过 Lua 测试套件
- 与其他编译器的基准测试
- 合理的性能
- REPL
测试
该包有自己的测试套件,主要包含基本的单元测试或健全性检查,以验证语言和标准库的所有部分至少处于半工作状态。这些健全性检查可以用以下方式运行
cargo test
该仓库还包含 Lua 测试套件的副本。可以通过将它们作为常规 Lua 文件运行来运行这些测试 cargo run -- <file>.lua
,如果输出以 "OK" 结束且解释器没有出错,则认为测试通过。
在 cargo test
套件中还包括 Lua 测试套件,但已标记为忽略。要包括 Lua 测试套件和健全性检查,请运行
cargo test -- --include-ignored
用法
待办事项
许可证
luallaby
在 MIT 许可证的条款下分发。
有关更多信息,请参阅 LICENSE 文件。
依赖项
~6–14MB
~170K SLoC