#peg #parser #grammar

nameless-peg-parser

PEG实现,目前尚不稳定

3个版本

0.1.2 2024年7月7日
0.1.1 2024年7月7日
0.1.0 2024年7月7日

#73 in 解析器工具

Download history 145/week @ 2024-07-01 162/week @ 2024-07-08 16/week @ 2024-07-29

每月323次下载

MIT许可证

55KB
1K SLoC

无名的PEG解析器

这是https://bford.info/pub/lang/peg.pdf的实现

我主要是出于学术好奇心而实现的,它没有任何形式的优化。

示例文件夹中包含两个示例,一个用于成功,一个用于失败。

解析器会将日志记录到debug!和error!或日志模块。如果您想查看一些日志,请包含您的日志实现并启用适当的日志级别。示例包括env_logger,可以通过设置环境变量"RUST_LOG=debug"来启用日志。

用法

let parser = PEG::from_grammar(start_rule, grammar_string)?;
let result = parser.parse(input_string);

欢迎提交PR :) 我很可能会继续对其进行修改,甚至可能对其进行适当的优化。

YT: https://www.youtube.com/watch?v=awtHSLEIFxA

可以作为crate找到: https://docs.rs/nameless-peg-parser/latest/nameless_peg_parser/index.html

依赖项

~87KB