Macro big_mac::branching_parser[][src]

macro_rules! branching_parser {
    ({ $($patterns : tt) * } { } { } $module_path : path ; $macro_name : ident
 $macro_parser : ident $macro_filter : ident $macro_call : path ; $ds : tt) => { ... };
    ({ $($patterns : tt) * } { $($queue : tt) * }
 { @ ($prev_tag : tt #) $word : tt } $module_path : path ; $macro_name : ident
 $macro_parser : ident $macro_filter : ident $macro_call : path ; $ds : tt) => { ... };
    ({ $($patterns : tt) * } { $($queue : tt) * } { @ ($prev_tag : tt #) }
 $module_path : path ; $macro_name : ident $macro_parser : ident $macro_filter
 : ident $macro_call : path ; $ds : tt) => { ... };
    ({ $($patterns : tt) * } { $($queue : tt) * }
 { @ ($prev_tag : tt #) $word : tt $({ $($branches_toks : tt) * }) + }
 $module_path : path ; $macro_name : ident $macro_parser : ident $macro_filter
 : ident $macro_call : path ; $ds : tt) => { ... };
    ({ $($patterns : tt) * } { $($queue : tt) * }
 { @ $this_tag : tt # $({ $($next_word : tt $($branches_toks : tt) *) ? }) + }
 $module_path : path ; $macro_name : ident $macro_parser : ident $macro_filter
 : ident $macro_call : path ; $ds : tt) => { ... };
    ({ $($patterns : tt) * } { $($queue : tt) * }
 {
     ! branch_selector @ $this_tag : tt $next_word :
     tt($($branches_toks : tt) +)
 } $module_path : path ; $macro_name : ident $macro_parser : ident
 $macro_filter : ident $macro_call : path ; $ds : tt) => { ... };
    ({ $($patterns : tt) * } { $($queue : tt) * }
 { ! branch_selector @ $this_tag : tt $next_word : tt() } $module_path : path
 ; $macro_name : ident $macro_parser : ident $macro_filter : ident $macro_call
 : path ; $ds : tt) => { ... };
    ({ $($patterns : tt) * } { $($queue : tt) * }
 { @ $this_tag : tt $word : tt $({ $($branches_toks : tt) * }) + }
 $module_path : path ; $macro_name : ident $macro_parser : ident $macro_filter
 : ident $macro_call : path ; $ds : tt) => { ... };
    ({ $($patterns : tt) * } { $dequeue : tt $($queue : tt) * } { } $module_path :
 path ; $macro_name : ident $macro_parser : ident $macro_filter : ident
 $macro_call : path ; $ds : tt) => { ... };
    (@ unroll $module_path : path ; $macro_name : ident $macro_parser : ident
 $macro_filter : ident $macro_call : path ;
 $({ $word : tt $($branch_contents : tt) + }) +) => { ... };
}
Expand description

Parameters:

  1. @unroll
  2. Path to this module
  3. Name of entry point macro
  4. Name of parser macro
  5. Name of filter macro
  6. Fully qualified destination macro
  7. Branch specifiers