7 个版本

0.2.2 2020年3月17日
0.2.1 2020年3月16日
0.1.3 2020年3月16日

#192解析器工具

MIT 许可证

15KB
478

kombi Foo

一个基于迭代器的 Rust 解析器组合库。

包含的电池

  • Parser 特性
    • &str
    • char
    • <T, Iter: Iterator + Clone> Fn(Iter) -> Option<(Iter, T)>
  • () 确保没有剩余要解析的内容
  • Many 用于重复出现
  • Maybe 用于可选项(例如,' '.maybe() 允许但不要求一个空格)
  • NaturalNumber 用于介于 0 和 u128::max_value() 之间的整数
  • Or 用于在两个 Parser 之间进行选择
  • Then 用于将多个 Parser 连接在一起
  • Transform 用于将 Parser 的输出转换成另一个值。
("true".or("True"))
.or("false".or("False"))
.transform(|x|match x {
    Either::A(_) => true,
    Either::B(_) => false,
})
.parse_str("false!")? == ("!", false)

无运行时依赖