2 个版本
0.1.1 | 2020 年 4 月 9 日 |
---|---|
0.1.0 | 2020 年 4 月 6 日 |
#2680 在 Rust 模式
每月 32 次下载
在 2 个 crate 中使用
4KB
nom-fields
此 crate 提供了一个类似函数的宏,用于在使用解析框架 nom 时移除常见模式中的一些样板代码。
使用此宏,以下解析器...
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)
...变成了这样
nom_fields::fields!(SomeStruct:
some_field = some_parser,
some_other_field = some_other_parser,
a_third_field = a_third_parser
)(input)
lib.rs
:
此 crate 提供了一个类似函数的宏,用于在使用解析框架 nom 时移除常见模式中的一些样板代码。
使用此宏,以下解析器...
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)
...变成了这样
nom_fields::fields!(SomeStruct:
some_field = some_parser,
some_other_field = some_other_parser,
a_third_field = a_third_parser
)(input)