macro_rules! many0 {
($i:expr, $submac:ident!( $($args:tt)* )) => { ... };
($i:expr, $f:expr) => { ... };
}Expand description
Parse zero or more values using the given parser.
- Syntax:
many0!(THING) - Output:
Vec<THING>
You may also be looking for:
separated_list!- zero or more values with separatorseparated_nonempty_list!- one or more valuesterminated_list!- zero or more, allows trailing separator
extern crate syn;
#[macro_use] extern crate synom;
use syn::Item;
use syn::parse::item;
named!(items -> Vec<Item>, many0!(item));
fn main() {
let input = "
fn a() {}
fn b() {}
";
let parsed = items(input).expect("items");
assert_eq!(parsed.len(), 2);
println!("{:?}", parsed);
}