pub enum TermKind {
Empty,
Epsilon,
Class(CharSet),
Concat(TermId, TermId),
Union(Arc<[TermId]>),
Star(TermId),
Inter(Arc<[TermId]>),
Not(TermId),
Assert {
kind: AssertKind,
word: u8,
line: u8,
},
LookAhead {
neg: bool,
body: TermId,
},
LookBehind {
neg: bool,
tracker: u8,
},
}Expand description
Shape of a term.
Variants§
Empty
The empty language.
Epsilon
Only the empty string.
Class(CharSet)
One symbol from a non-empty set.
Concat(TermId, TermId)
Concatenation; the left side is never itself a Concat.
Union(Arc<[TermId]>)
Union of at least two distinct, sorted, non-Union terms.
Star(TermId)
Kleene star.
Inter(Arc<[TermId]>)
Intersection of at least two distinct, sorted, non-Inter terms.
Not(TermId)
Complement relative to all strings over the universe.
Assert
A zero-width assertion with the indices of its auxiliary sets.
Fields
§
kind: AssertKindWhich assertion.
LookAhead
(?=body) / (?!body).
LookBehind
(?<=body) / (?<!body), answered by tracker number tracker.
Trait Implementations§
impl Eq for TermKind
impl StructuralPartialEq for TermKind
Auto Trait Implementations§
impl Forget for TermKind
impl Freeze for TermKind
impl RefUnwindSafe for TermKind
impl Send for TermKind
impl Sync for TermKind
impl Unpin for TermKind
impl UnsafeUnpin for TermKind
impl UnwindSafe for TermKind
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