4 个版本
0.1.2 | 2024 年 7 月 10 日 |
---|---|
0.1.1 | 2024 年 1 月 19 日 |
0.1.0 | 2024 年 1 月 19 日 |
#120 在 值格式化
每月 121 次下载
33KB
640 行
Frostwalker
Frostwalker 是一个 Rust 的类似于 TOML 的配置语言解析器。该库包含一个由词法分析器、验证器和格式化器组成的解析器堆栈,这些都有单元测试和集成测试。
理由
Rust 的 crate toml
需要拉入 8 个其他 crate 来完成其工作,包括 serde
。虽然这可能对大多数 Rust 开发者来说并不令人烦恼,但我习惯于使用性能较差的英特尔硬件,因此低编译时间对我来说是一个很大的关注点,因此与需要其他依赖项的 crate 相比,我更倾向于使用我制作的仅需要标准库的 crate。
我还想为一种语言编写词法分析器、验证器和解析器堆栈,而配置语言比 C、Python 和 Rust 这样的编程语言简单得多,因此在配置语言中实现这些功能更容易。
这主要是为我的网络服务器 herb 而制作的,我想尽可能降低依赖项,只是为了乐趣,同时也是为了编译时间。目前,herb 的唯一依赖项是我的数据包库 Packeteer,以使 HTTP 协议代码与 herb 更为分离。
我还使用类似于 TOML 的语言而不是直接使用 TOML,因为我不需要 TOML 的所有功能,也不想实现解析 TOML 所有功能的解析器。
目前支持哪些功能?
- 键
- 值
- 等号
- 布尔值
- 整数
- 数组(仅单层深度)