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:
- @unroll
- Path to this module
- Name of entry point macro
- Name of parser macro
- Name of filter macro
- Fully qualified destination macro
- Branch specifiers