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解析器工具

Download history 198206/week @ 2024-03-14 204157/week @ 2024-03-21 213429/week @ 2024-03-28 244630/week @ 2024-04-04 207688/week @ 2024-04-11 224134/week @ 2024-04-18 207935/week @ 2024-04-25 210945/week @ 2024-05-02 206525/week @ 2024-05-09 238750/week @ 2024-05-16 245523/week @ 2024-05-23 270626/week @ 2024-05-30 250053/week @ 2024-06-06 251548/week @ 2024-06-13 262109/week @ 2024-06-20 199893/week @ 2024-06-27

1,016,025 每月下载量
用于 1,073 个crate (14 个直接使用)

MIT/Apache

23KB
482

rusticata-macros

License: MIT Apache License 2.0 Build Status Github CI Crates.io Version

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 7
  • rusticata-macros 3.x 需要 nom 6
  • rusticata-macros 2.x 需要 nom 5

文档

Crate 已有文档,运行 cargo doc 将生成离线文档。

参考文档可在 此处 找到

变更

4.1.0

  • 移除宏 slice_fixed

4.0.0

  • 升级到 nom 7
    • 移除宏

3.0.1

  • 添加 be_var_u64le_var_u64

3.0.0

  • 升级到 nom 6

2.1.0

  • 为结构体序列化添加常用特质 Serialize

2.0.4

  • 添加大多数组合器的函数版本

2.0.3

  • 添加宏 q (quote) 和 align32

2.0.2

  • 添加 upgrade_errorupgrade_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许可证的定义,您有意提交以包含在作品中的任何贡献,将按上述方式双授权,不附加任何额外条款或条件。

依赖项

~1MB
~20K SLoC