用于 Rust 的解析表达式语法 (PEG) 解析器生成器

时间:2024-07-18 12:09:55
【文件属性】:

文件名称:用于 Rust 的解析表达式语法 (PEG) 解析器生成器

文件大小:63KB

文件格式:ZIP

更新时间:2024-07-18 12:09:55

rust parsing parser-generator grammar peg

在 Rust 中解析表达式语法文档|发行说明rust-peg是一个简单而灵活的解析器生成器,可以轻松编写强大的解析器。它基于Parsing Expression Grammar形式主义,提供了一个 Rust 宏,可以从语法的简明定义中构建递归下降解析器。特征解析来自&str 、&[u8] 、&[T]或实现特征的自定义类型的输入可定制的解析错误报告规则可以接受参数来创建可重用的规则模板前缀/后缀/中缀表达式的优先级攀升对于语法定义或嵌入其中的 Rust 代码中的错误,有用的rustc错误消息用于调试语法的规则级跟踪例子将括号括起来的逗号分隔的数字列表解析为Vec :peg::parser! { grammarlist_parser ()forstr { rulenumber ()->u32= n:$(['0' ..='9' ]+ ) { n.parse ().unwrap () }pub rulelist ()->Vec="[" l:number ()**",""]" { l } } }pubfnmain () {assert_


【文件预览】:
rust-peg-master
----.gitignore(84B)
----benches()
--------expr.rs(649B)
--------json.rs(1KB)
----peg-runtime()
--------error.rs(3KB)
--------LICENSE(10B)
--------Cargo.toml(302B)
--------slice.rs(1KB)
--------str.rs(2KB)
--------lib.rs(2KB)
----src()
--------lib.rs(14KB)
----Cargo.lock(4KB)
----LICENSE(1KB)
----Cargo.toml(783B)
----.github()
--------workflows()
----peg-macros()
--------grammar.rs(184KB)
--------tokens.rs(6KB)
--------grammar.rustpeg(6KB)
--------bin.rs(2KB)
--------translate.rs(36KB)
--------LICENSE(10B)
--------Cargo.toml(542B)
--------analysis.rs(9KB)
--------ast.rs(3KB)
--------lib.rs(909B)
----README.md(3KB)
----tests()
--------run-pass()
--------compile-fail()
--------trybuild.rs(511B)
----bootstrap.sh(415B)

网友评论