Expand description
Minimal parser combinators
§Basic parsers
Items | Description | Example |
---|---|---|
and | Combine two parsers where both must succeed. | and(u16l, u32l) |
or | Combine two parsers where at least one must succeed. | or(u16l, u32l) |
take | Take N bytes. | take(42) |
seq | Run a parser N times in sequence. | seq(u32l, 42) |
tag | Match a sequence of bytes. | tag("hello") |
opt | Allow a parser to fail. | opt(tag("hello")) |
[pod ] | Transmute bytes into a type. Requires the bytemuck feature | seq(pod::<MyType>, 4) |
finish | Ensure there is no bytes left | finish(seq(u16l, 128)) |
§Number parsers
u8 | u16 | u32 | u64 | u128 | f32 | f64 | |
---|---|---|---|---|---|---|---|
Little Endian | byte | u16l | u32l | u64l | u128l | f32l | f64l |
Big Endian | byte | u16b | u32b | u64b | u128b | f32b | f64b |
§Features
bytemuck
: Enables the [pod
] parser
§MSRV
Minimum supported Rust version is: 1.60
Structs§
- Byte
Error - F32B
Error - F32L
Error - F64B
Error - F64L
Error - Finish
Error - I16B
Error - I16L
Error - I32B
Error - I32L
Error - I64B
Error - I64L
Error - I128B
Error - I128L
Error - SeqError
- TagError
- Take
Error - U16B
Error - U16L
Error - U32B
Error - U32L
Error - U64B
Error - U64L
Error - U128B
Error - U128L
Error
Enums§
Functions§
- and
- byte
- f32b
- Parse 32-bit big-endian float.
- f32l
- Parse 32-bit little-endian float.
- f64b
- Parse 64-bit big-endian float.
- f64l
- Parse 64-bit little-endian float.
- finish
- i16b
- Parse signed 16-bit big-endian integer.
- i16l
- Parse signed 16-bit little-endian integer.
- i32b
- Parse signed 32-bit big-endian integer.
- i32l
- Parse signed 32-bit little-endian integer.
- i64b
- Parse signed 64-bit big-endian integer.
- i64l
- Parse signed 64-bit little-endian integer.
- i128b
- Parse signed 128-bit big-endian integer.
- i128l
- Parse signed 128-bit little-endian integer.
- opt
- or
- seq
- tag
- take
- u16b
- Parse unsigned 16-bit big-endian integer.
- u16l
- Parse unsigned 16-bit little-endian integer.
- u32b
- Parse unsigned 32-bit big-endian integer.
- u32l
- Parse unsigned 32-bit little-endian integer.
- u64b
- Parse unsigned 64-bit big-endian integer.
- u64l
- Parse unsigned 64-bit little-endian integer.
- u128b
- Parse unsigned 128-bit big-endian integer.
- u128l
- Parse unsigned 128-bit little-endian integer.