pub enum Term {
Terminal(String),
Nonterminal(String),
}Expand description
A Term can represent a Terminal or Nonterminal node.
Grammar text may use extended syntax such as (A / B) or [A]; that syntax
is parsed into an internal AST and normalized into a Grammar whose productions
use only Terminal and Nonterminal (with fresh __anon* nonterminals for
groups and optionals). The public Term type therefore has only these two variants.
Variants§
Terminal(String)
A term which cannot be expanded further via productions
Nonterminal(String)
A term which may be be expanded further via productions
Trait Implementations§
Source§impl Add<&Expression> for Term
impl Add<&Expression> for Term
Source§type Output = Expression
type Output = Expression
The resulting type after applying the
+ operator.Source§impl Add<Expression> for Term
impl Add<Expression> for Term
Source§type Output = Expression
type Output = Expression
The resulting type after applying the
+ operator.Source§impl Add<Term> for &Expression
impl Add<Term> for &Expression
Source§impl Add<Term> for Expression
impl Add<Term> for Expression
Source§impl<'de> Deserialize<'de> for Term
impl<'de> Deserialize<'de> for Term
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Ord for Term
impl Ord for Term
Source§impl PartialOrd for Term
impl PartialOrd for Term
impl Eq for Term
impl StructuralPartialEq for Term
Auto Trait Implementations§
impl Freeze for Term
impl RefUnwindSafe for Term
impl Send for Term
impl Sync for Term
impl Unpin for Term
impl UnwindSafe for Term
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.