#config-parser #configuration-language #toml-parser #toml-config #validation #lexer #formatter

frostwalker

一个类似于 TOML 的配置语言解析器,不依赖于 std 以外的任何库。

4 个版本

0.1.2 2024 年 7 月 10 日
0.1.1 2024 年 1 月 19 日
0.1.0 2024 年 1 月 19 日

#120值格式化

Download history 116/week @ 2024-07-09 1/week @ 2024-07-16 4/week @ 2024-07-23

每月 121 次下载

EUPL-1.2

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 所有功能的解析器。

目前支持哪些功能?

  • 等号
  • 布尔值
  • 整数
  • 数组(仅单层深度)

无运行时依赖