macro_rules! node {
(chr $char:expr) => { ... };
(chr $char1:expr, $char2:expr $(;$char3:expr, $char4:expr)*) => { ... };
([$($($a1:literal)?$($a2:ident)? $(- $($b1:literal)?$($b2:ident)?)?),+]) => { ... };
(~[$($($a1:literal)?$($a2:ident)? $(- $($b1:literal)?$($b2:ident)?)?),+]) => { ... };
(.) => { ... };
(str $str:expr) => { ... };
(&) => { ... };
(|) => { ... };
(*) => { ... };
(+) => { ... };
(e) => { ... };
(??) => { ... };
(= $id:expr) => { ... };
($id:expr) => { ... };
([$($($a1:literal)?$($a2:ident)? $(- $($b1:literal)?$($b2:ident)?)?,)+]) => { ... };
(~[$($($a1:literal)?$($a2:ident)? $(- $($b1:literal)?$($b2:ident)?)?,)+]) => { ... };
}Expand description
Generates an ReNode instance.
ยงExamples
assert_eq!(node!(chr 'a'), ReNode::char('a'));
assert_eq!(node!(['a'-'z', '0'-'9']), ReNode::char_range(Segments::from([Seg('a' as u32, 'z' as u32), Seg('0' as u32, '9' as u32)])));
assert_eq!(node!(.), ReNode::char_range(Segments::from([Seg(UTF8_MIN, UTF8_LOW_MAX), Seg(UTF8_HIGH_MIN, UTF8_MAX)])));
assert_eq!(node!(str "new"), ReNode::string("new"));
assert_eq!(node!(=5), ReNode::end(Terminal { action: ActionOption::Token(5), channel: 0, mode: ModeOption::None, mode_state: None, pop: false }));
assert_eq!(node!(&), ReNode::concat());
assert_eq!(node!(|), ReNode::or());
assert_eq!(node!(*), ReNode::star());
assert_eq!(node!(+), ReNode::plus());
assert_eq!(node!(e), ReNode::empty());