528次发布
新 0.0.536 | 2024年8月24日 |
---|---|
0.0.513 | 2024年7月31日 |
0.0.398 | 2024年3月31日 |
0.0.308 | 2023年12月31日 |
0.0.4 | 2021年11月15日 |
#26 in 解析工具
每月4,359次下载
在 6 个包中使用了 (直接使用 4 个)
160KB
3.5K SLoC
oni-comb-parser-rs
用于LL(k)解析组合器的Rust包。
在Cargo.toml中安装
将以下内容添加到您的 Cargo.toml
[dependencies]
oni-comb-parser-rs = "<<version>>"
用法
use oni_comb_parser_rs::prelude::*;
fn main() {
let input: &[u8; 14] = b"'hello world';";
let parser: Parser<u8, &str> = surround(
elm(b'\''),
(seq(b"hello") + elm_space() + seq(b"world")).collect(),
elm(b'\'') + elm(b';'),
)
.map_res(std::str::from_utf8);
let result: &str = parser.parse(input).unwrap();
println!("{}", result); // hello world
}
受以下解析器实现的影响
- Rust
- Scala
- Java
示例
- Hello World!
- JSON解析器
- 计算器
可选解析器
依赖项
~2.1–3MB
~54K SLoC