25 releases (14 stable)
4.1.0 | Feb 7, 2022 |
---|---|
4.0.0 | Sep 2, 2021 |
3.2.0 | Aug 18, 2021 |
3.1.0 | Jul 9, 2021 |
0.3.0 | Mar 24, 2017 |
#62 in Parser tooling
1,447,193 downloads per month
Used in 1,333 crates
(14 directly)
23KB
482 lines
rusticata-macros
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 7rusticata-macros
3.x depends on nom 6rusticata-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
andle_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) andalign32
2.0.2
- Add
upgrade_error
andupgrade_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.
Dependencies
~1MB
~19K SLoC