Crates.io | nom-fields |
lib.rs | nom-fields |
version | 0.1.1 |
source | src |
created_at | 2020-04-06 20:00:26.334441 |
updated_at | 2020-04-09 20:55:42.604102 |
description | Provides a single function-like macro that removes some boilerplate from a common pattern when using nom. |
homepage | https://github.com/reslario/nom-fields |
repository | https://github.com/reslario/nom-fields |
max_upload_size | |
id | 227054 |
size | 4,844 |
This crate provides a single function-like macro that removes some boilerplate from a common pattern when using the parsing framework nom.
With this macro, the following parser...
nom::combinator::map(
nom::sequence::tuple((
some_parser,
some_other_parser,
a_third_parser
)),
|(some_field, some_other_field, a_third_field)| SomeStruct {
some_field,
some_other_field,
a_third_field
}
)(input)
...becomes this:
nom_fields::fields!(SomeStruct:
some_field = some_parser,
some_other_field = some_other_parser,
a_third_field = a_third_parser
)(input)