25 个版本 (14 个稳定版)
4.1.0 | 2022 年 2 月 7 日 |
---|---|
4.0.0 | 2021 年 9 月 2 日 |
3.2.0 | 2021 年 8 月 18 日 |
3.1.0 | 2021 年 7 月 9 日 |
0.3.0 | 2017 年 3 月 24 日 |
#59 在 解析器工具 中
1,016,025 每月下载量
用于 1,073 个crate (14 个直接使用)
23KB
482 行
rusticata-macros
Rusticata-macros
为 rusticata 项目提供辅助宏。
此crate包含对 nom 的某些扩展。
例如,combinator::cond_else
函数允许在条件为真时应用第一个解析器,在条件为假时应用第二个解析器
use rusticata_macros::combinator::cond_else;
let r: IResult<_, _, ()> = cond_else(
|| s.len() > 1,
be_u16,
map(be_u8, u16::from)
)(s);
请参阅文档以获取更多详细信息和示例。
Nom 版本
根据 nom 版本,此 crate 有不同的版本。
rusticata-macros
4.x 需要 nom 7rusticata-macros
3.x 需要 nom 6rusticata-macros
2.x 需要 nom 5
文档
Crate 已有文档,运行 cargo doc
将生成离线文档。
参考文档可在 此处 找到
变更
4.1.0
- 移除宏
slice_fixed
4.0.0
- 升级到 nom 7
- 移除宏
3.0.1
- 添加
be_var_u64
和le_var_u64
3.0.0
- 升级到 nom 6
2.1.0
- 为结构体序列化添加常用特质
Serialize
2.0.4
- 添加大多数组合器的函数版本
2.0.3
- 添加宏
q
(quote) 和align32
2.0.2
- 添加
upgrade_error
和upgrade_error_to
2.0.1
- 添加宏
custom_check
- 添加宏
flat_take
2.0.0
- 升级到 nom 5
- 调试类型:使用新类型
1.1.0
- 添加宏
newtype_enum
1.0.0
- 升级到 nom 4.0
- 警告:这是一个破坏性变更!
- 将
parse_uint24
标记为已弃用
许可证
许可协议为以下之一
- Apache 许可证,版本 2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- 麻省理工学院许可证(《LICENSE-MIT》或http://opensource.org/licenses/MIT)
由您选择。
贡献
除非您明确声明,否则根据Apache-2.0许可证的定义,您有意提交以包含在作品中的任何贡献,将按上述方式双授权,不附加任何额外条款或条件。
依赖项
~1MB
~20K SLoC