macro_rules! grammar { ( S = [$($name:pat),+] R = { $($lhs:ident ::= $($rhs:ident)+;)+ } ) => { ... }; }