1个不稳定发布
0.0.1 | 2022年4月27日 |
---|
#12 in #opt
11KB
207 行
parz
小型解析器组合库
lib.rs
:
最小解析器组合
基本解析器
项目 | 描述 | 示例 |
---|---|---|
[and ] |
组合两个解析器,两个都必须成功。 | and(u16l,u32l) |
[or ] |
组合两个解析器,至少有一个必须成功。 | or(u16l,u32l) |
take |
取N个字节。 | take(42) |
[seq ] |
按顺序运行解析器N次。 | seq(u32l, 42) |
[tag ] |
匹配一系列字节。 | tag("hello") |
[opt ] |
允许解析器失败。 | opt(tag("hello")) |
[pod ] |
将字节转换成类型。 需要 bytemuck 功能 |
seq(pod::<MyType>, 4) |
finish |
确保没有剩余的字节 | finish(seq(u16l, 128)) |
数字解析器
u8 |
u16 |
u32 |
u64 |
u128 |
f32 |
f64 |
|
---|---|---|---|---|---|---|---|
小端 | byte |
u16l |
u32l |
u64l |
u128l |
f32l |
f64l |
大端 | byte |
u16b |
u32b |
u64b |
u128b |
f32b |
f64b |
特性
bytemuck
: 启用 [pod
] 解析器
MSRV
最低支持的Rust版本是:1.60
依赖项
~34KB