2 releases
0.2.1 | Aug 28, 2024 |
---|---|
0.2.0 | Jul 11, 2023 |
#425 in Parser implementations
134,382 downloads per month
Used in 31 crates
(2 directly)
15KB
341 lines
nom-bitvec
This crate provides input types for nom parser combinators using bitvec. With those, you can use common nom combinators directly on streams of bits.
Example
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..])));
Dependencies
~2MB
~41K SLoC