pub enum SimplifiedTreeNode {
Empty,
Symbol(Atom),
Union(Vec<SimplifiedTreeNode>),
Capture(Box<SimplifiedTreeNode>, usize),
Concat(Vec<SimplifiedTreeNode>),
Repeat(Box<SimplifiedTreeNode>, NonZero<usize>),
UpTo(Box<SimplifiedTreeNode>, NonZero<usize>, bool),
Star(Box<SimplifiedTreeNode>, bool),
Start,
End,
Never,
}Expand description
For translation between our parsed ERE and the crate::working_nfa::WorkingNFA
Variants§
Empty
Translates to epsilon
Symbol(Atom)
Union(Vec<SimplifiedTreeNode>)
Capture(Box<SimplifiedTreeNode>, usize)
Capture(child, group_num)
Concat(Vec<SimplifiedTreeNode>)
Repeat(Box<SimplifiedTreeNode>, NonZero<usize>)
Repeat(child, times)
UpTo(Box<SimplifiedTreeNode>, NonZero<usize>, bool)
UpTo(child, max_times, longest)
Star(Box<SimplifiedTreeNode>, bool)
Star(child, longest)
Start
End
Never
Implementations§
Source§impl SimplifiedTreeNode
impl SimplifiedTreeNode
pub fn optional(self, longest: bool) -> SimplifiedTreeNode
pub fn union(self, other: SimplifiedTreeNode) -> SimplifiedTreeNode
pub fn capture(self, group_num: usize) -> SimplifiedTreeNode
pub fn concat(self, other: SimplifiedTreeNode) -> SimplifiedTreeNode
pub fn repeat(self, count: usize) -> SimplifiedTreeNode
pub fn upto(self, count: usize, longest: bool) -> SimplifiedTreeNode
pub fn star(self, longest: bool) -> SimplifiedTreeNode
Trait Implementations§
Source§impl Clone for SimplifiedTreeNode
impl Clone for SimplifiedTreeNode
Source§fn clone(&self) -> SimplifiedTreeNode
fn clone(&self) -> SimplifiedTreeNode
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SimplifiedTreeNode
impl Debug for SimplifiedTreeNode
impl Eq for SimplifiedTreeNode
Source§impl From<Atom> for SimplifiedTreeNode
impl From<Atom> for SimplifiedTreeNode
Source§fn from(value: Atom) -> SimplifiedTreeNode
fn from(value: Atom) -> SimplifiedTreeNode
Converts to this type from the input type.
Source§impl From<ERE> for SimplifiedTreeNode
impl From<ERE> for SimplifiedTreeNode
Source§fn from(value: ERE) -> SimplifiedTreeNode
fn from(value: ERE) -> SimplifiedTreeNode
Converts to this type from the input type.
Source§impl PartialEq for SimplifiedTreeNode
impl PartialEq for SimplifiedTreeNode
Source§fn eq(&self, other: &SimplifiedTreeNode) -> bool
fn eq(&self, other: &SimplifiedTreeNode) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for SimplifiedTreeNode
Auto Trait Implementations§
impl Freeze for SimplifiedTreeNode
impl RefUnwindSafe for SimplifiedTreeNode
impl Send for SimplifiedTreeNode
impl Sync for SimplifiedTreeNode
impl Unpin for SimplifiedTreeNode
impl UnsafeUnpin for SimplifiedTreeNode
impl UnwindSafe for SimplifiedTreeNode
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more