#parser-combinator #nom #bit #parser #bit-level

无 std bitvec-nom2

使用 bitvec 进行 nom 的位级解析

1 个不稳定版本

0.2.0 2023年7月11日

#162 in 解析工具

Download history 1549/week @ 2024-03-25 2041/week @ 2024-04-01 1475/week @ 2024-04-08 1752/week @ 2024-04-15 1710/week @ 2024-04-22 2425/week @ 2024-04-29 1838/week @ 2024-05-06 12047/week @ 2024-05-13 11088/week @ 2024-05-20 19274/week @ 2024-05-27 27204/week @ 2024-06-03 15445/week @ 2024-06-10 11674/week @ 2024-06-17 6375/week @ 2024-06-24 2500/week @ 2024-07-01 25959/week @ 2024-07-08

47,447 每月下载量
用于 22 个 crate (2 直接)

MIT 许可证

14KB
341

nom-bitvec

LICENSE Join the chat at https://gitter.im/Geal/nom Crates.io Version Minimum rustc version

这个 crate 为 nom 解析器组合器 提供输入类型,使用 bitvec。有了这些,您可以直接在位流上使用常见的 nom 组合器。

示例

let data = [0xA5u8, 0x69, 0xF0, 0xC3];
let bits = data.view_bits::<Msb0>();

fn parser(bits: &BitSlice<Msb0, u8>) -> IResult<&BitSlice<Msb0, u8>, &BitSlice<Msb0, u8>> {
  tag(bits![1, 0, 1, 0])(bits)
}

assert_eq!(parser(bits), Ok((&bits[..4], &bits[4..])));

依赖项

~2MB
~43K SLoC