1 个不稳定版本
使用旧的Rust 2015
0.1.0 | 2024年6月8日 |
---|
#82 在 解析工具
385 每月下载量
用于 10 个crate(通过 parol)
55KB
1K SLoC
lalry
- 一个从上下文无关文法创建LALR(1)解析器的库
这是由伟大的lalr crate分支而来,这是一个从上下文无关文法创建LALR(1)解析器的库。
对 lalr
的扩展
为了使解析表的生成更灵活,lalry
增加了一种控制此过程的方法。使用 trait Config
来实现,并可以提供自定义实现以偏离默认设置。为了保持与之前版本的默认行为,用户可以使用 DefaultConfig
结构,它提供了标准行为的实现。
lalry
的特性
lalry
,虽然不是主要目标,但在功能上与它的祖先 lalr
完全兼容。它可以作为直接替换使用,只需进行少量修改。
您需要做的就是创建一个 DefaultConfig
并将其传递给对 lalr1
的调用
let config = DefaultConfig::new();
let parse_table = grammar.lalr1(&config).unwrap();
使用默认配置,您将获得与使用 lalr
风格 API 相同的功能
let parse_table = grammar.lalr1(|_, _| true, |_, _| 0).unwrap();
。