[][src]Enum sbnf::compiler::interpreter::Expression

pub enum Expression<'a> {
    Variable {
        key: RuleKey<'a>,
        node: &'a Node<'a>,
    },
    Terminal {
        regex: String,
        options: TerminalOptions<'a>,
        node: &'a Node<'a>,
    },
    Passive {
        expression: Box<Expression<'a>>,
        node: &'a Node<'a>,
    },
    Repetition {
        expression: Box<Expression<'a>>,
        node: &'a Node<'a>,
    },
    Optional {
        expression: Box<Expression<'a>>,
        node: &'a Node<'a>,
    },
    Alternation {
        expressions: Vec<Expression<'a>>,
        node: &'a Node<'a>,
    },
    Concatenation {
        expressions: Vec<Expression<'a>>,
        node: &'a Node<'a>,
    },
}

Variants

Variable

Fields of Variable

key: RuleKey<'a>node: &'a Node<'a>
Terminal

Fields of Terminal

regex: Stringoptions: TerminalOptions<'a>node: &'a Node<'a>
Passive

Fields of Passive

expression: Box<Expression<'a>>node: &'a Node<'a>
Repetition

Fields of Repetition

expression: Box<Expression<'a>>node: &'a Node<'a>
Optional

Fields of Optional

expression: Box<Expression<'a>>node: &'a Node<'a>
Alternation

Fields of Alternation

expressions: Vec<Expression<'a>>node: &'a Node<'a>
Concatenation

Fields of Concatenation

expressions: Vec<Expression<'a>>node: &'a Node<'a>

Trait Implementations

impl<'a> Debug for Expression<'a>[src]

impl<'a> Eq for Expression<'a>[src]

impl<'a> Hash for Expression<'a>[src]

impl<'a> PartialEq<Expression<'a>> for Expression<'a>[src]

Auto Trait Implementations

impl<'a> RefUnwindSafe for Expression<'a>

impl<'a> Send for Expression<'a>

impl<'a> Sync for Expression<'a>

impl<'a> Unpin for Expression<'a>

impl<'a> UnwindSafe for Expression<'a>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.