|
|
|
@ -15,6 +15,12 @@ macro_rules! abc_or_aaa {
|
|
|
|
|
(a a a) => { println!("'a a a' is also correct syntax.") };
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//this is a grammar sequence matching many of one token
|
|
|
|
|
macro_rules! many_a {
|
|
|
|
|
( $($a:ident)* ) => {{ $( print!("one {} ", stringify!($a)); )* println!(""); }};
|
|
|
|
|
( $($a:ident),* ) => {{ $( print!("one {} comma ", stringify!($a)); )* println!(""); }};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
|
abc!(a b c);
|
|
|
|
|
|
|
|
|
@ -23,4 +29,7 @@ fn main() {
|
|
|
|
|
|
|
|
|
|
abc_or_aaa!(a b c);
|
|
|
|
|
abc_or_aaa!(a a a);
|
|
|
|
|
|
|
|
|
|
many_a!(a a a);
|
|
|
|
|
many_a!(a, a, a);
|
|
|
|
|
}
|
|
|
|
|