aboutsummaryrefslogtreecommitdiff

rusticata-macros

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

Rusticata-macros

Helper macros for the rusticata project.

This crate contains some additions to nom.

For example, the [combinator::cond_else] function allows to apply the first parser if the condition is true, and the second if the condition is false:

use rusticata_macros::combinator::cond_else;
let r: IResult<_, _, ()> = cond_else(
        || s.len() > 1,
        be_u16,
        map(be_u8, u16::from)
    )(s);

See the documentation for more details and examples.

Nom versions

Different versions of this crate are available, depending on nom version.

  • rusticata-macros 4.x depends on nom 7
  • rusticata-macros 3.x depends on nom 6
  • rusticata-macros 2.x depends on nom 5

Documentation

Crate is documented, do running cargo doc will crate the offline documentation.

Reference documentation can be found here

Changes

4.1.0

  • Remove macro slice_fixed

4.0.0

  • Upgrade to nom 7
  • Remove macros

3.0.1

  • Add be_var_u64 and le_var_u64

3.0.0

  • Upgrade to nom 6

2.1.0

  • Add common trait Serialize for structures serialization

2.0.4

  • Add function version of most combinators

2.0.3

  • Add macros q (quote) and align32

2.0.2

  • Add upgrade_error and upgrade_error_to

2.0.1

  • Add macro custom_check
  • Add macro flat_take

2.0.0

  • Upgrade to nom 5
  • Debug types: use newtypes

1.1.0

  • Add macro newtype_enum

1.0.0

  • Upgrade to nom 4.0
  • Warning: this is a breaking change!
  • Mark parse_uint24 as deprecated

License

Licensed under either of

  • Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
  • MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.