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 解析工具

Download history 1298/week @ 2024-05-04 1301/week @ 2024-05-11 1418/week @ 2024-05-18 1263/week @ 2024-05-25 1201/week @ 2024-06-01 1327/week @ 2024-06-08 1485/week @ 2024-06-15 1327/week @ 2024-06-22 934/week @ 2024-06-29 1111/week @ 2024-07-06 952/week @ 2024-07-13 1047/week @ 2024-07-20 1059/week @ 2024-07-27 998/week @ 2024-08-03 1074/week @ 2024-08-10 1061/week @ 2024-08-17

每月4,359次下载
6 个包中使用了 (直接使用 4 个)

MIT/Apache

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
}

受以下解析器实现的影响

示例

可选解析器

依赖项

~2.1–3MB
~54K SLoC