#语法 #PEG #过程宏 #解析器 #解析生成器 #类型

nightly oak

A typed parser generator syntax extension for Parsing Expression Grammar (PEG)

45 个版本

使用旧的 Rust 2015

0.8.0 2021 年 1 月 12 日
0.7.0 2019 年 1 月 11 日
0.6.0 2018 年 11 月 10 日
0.5.8 2018 年 7 月 18 日
0.3.8 2015 年 11 月 24 日

#125 in 解析工具

Apache-2.0

165KB
4K SLoC

Oak

ptal on Travis CI

在 Rust 的 nightly 频道编译。使用 rustup 管理编译频道。您可以使用 rustup override add 2021-01-06 下载并设置与所使用的编译器完全相同的版本。

请参阅Oak 手册

特性

  • 易于安装:PEG 语法描述作为 Rust过程宏。
  • 用户友好:大多数类型都是自动从解析表达式推断出来的。
  • 安全:良好的格式分析保证了终止性。
  • 模块化:外部解析规则可以在任何时候调用。
  • 快速:为每个规则生成识别器和解析器函数。

构建本地文档

您可能需要从存储库构建手册或代码文档,因为您需要它与 Oak 的特定版本保持同步,或者只是为了离线使用。以下是如何操作!

构建手册

您需要mdbook 工具。

cargo install mdbook

安装后,进入 oak/doc 并执行 mdbook build -o。手册生成在名为 book 的本地文件夹中,并直接在您的浏览器中打开。

构建代码文档

作为 Oak 的用户,您将关注运行时文档。

cd oak/runtime
cargo doc

该文档可在 oak/runtime/target/doc 中找到。

要构建 Oak 的内部文档,您可以在项目的根目录下输入此命令

cd oak
rustdoc --document-private-items --output=target/dev-doc src/liboak/lib.rs

文档将可在 oak/target/dev-doc 中找到。这对于在 Oak 上工作很有用 :)

依赖

~1.5MB
~35K SLoC