33个版本 (7个稳定版)

1.3.1 2022年5月14日
0.21.1 2022年4月1日
0.20.0 2022年3月31日

#303编程语言

Download history 456/week @ 2024-03-14 21/week @ 2024-03-21 29/week @ 2024-03-28 16/week @ 2024-04-04 25/week @ 2024-04-11 109/week @ 2024-04-18 25/week @ 2024-04-25 79/week @ 2024-05-02 57/week @ 2024-05-09 21/week @ 2024-05-16 113/week @ 2024-05-23 56/week @ 2024-05-30 29/week @ 2024-06-06 28/week @ 2024-06-13 155/week @ 2024-06-20 330/week @ 2024-06-27

每月547次下载
5 个crate中使用了(3个直接使用)

GPL-3.0-only

195KB
1.5K SLoC

🐆 Santiago

Rust的词法和解析工具包

CI/CD Documentation Version License

Santiago为您提供

  • 定义任何上下文无关文法的库。
  • 词法分析模块。
  • 以及构建语言解释器或编译器的功能。

有了Santiago,您构建自己的编程语言所需的一切都具备了!

特性

  • ✔️ 快速 🦀

    它用Rust编写,考虑到零依赖和最大的可移植性。

  • ✔️ 易于使用

    定义文法几乎与它的巴科斯-诺尔范式相同。

    创建一个词法分析器只需映射一些字符串。

    错误消息包含有用的信息。

  • ✔️ 强大

    Santiago可以解析所有上下文无关语言,没有任何例外。

  • ✔️ 可靠

    高覆盖率,经过实战考验。

  • ✔️ 兼容

    Santiago受到GNU BisonYaccFlex的启发,并旨在成为它们的替代品,这些是出色的工具,但与Rust不兼容。

入门

只需阅读文档,我们那里有大量的示例,以及每个组件的详细说明。

或者,您可以在测试文件夹中查看更多示例。

希望您觉得Santiago很有用!

并且别忘了给我们一个星⭐

依赖关系

~2.8–4MB
~67K SLoC