ExprView

Enum ExprView 

Source
pub enum ExprView<'a> {
Show 33 variants Predicate { name: &'a str, args: Vec<TermView<'a>>, }, Identity { left: TermView<'a>, right: TermView<'a>, }, Metaphor { tenor: TermView<'a>, vehicle: TermView<'a>, }, Quantifier { kind: QuantifierKind, variable: &'a str, body: Box<ExprView<'a>>, }, Categorical { quantifier: TokenType, subject: NounPhraseView<'a>, copula_negative: bool, predicate: NounPhraseView<'a>, }, Relation { subject: NounPhraseView<'a>, verb: &'a str, object: NounPhraseView<'a>, }, Modal { vector: ModalVector, operand: Box<ExprView<'a>>, }, Temporal { operator: TemporalOperator, body: Box<ExprView<'a>>, }, Aspectual { operator: AspectOperator, body: Box<ExprView<'a>>, }, Voice { operator: VoiceOperator, body: Box<ExprView<'a>>, }, BinaryOp { left: Box<ExprView<'a>>, op: TokenType, right: Box<ExprView<'a>>, }, UnaryOp { op: TokenType, operand: Box<ExprView<'a>>, }, Question { wh_variable: &'a str, body: Box<ExprView<'a>>, }, YesNoQuestion { body: Box<ExprView<'a>>, }, Atom(&'a str), Lambda { variable: &'a str, body: Box<ExprView<'a>>, }, App { function: Box<ExprView<'a>>, argument: Box<ExprView<'a>>, }, Intensional { operator: &'a str, content: Box<ExprView<'a>>, }, Event { predicate: Box<ExprView<'a>>, adverbs: Vec<&'a str>, }, NeoEvent { event_var: &'a str, verb: &'a str, roles: Vec<(ThematicRole, TermView<'a>)>, modifiers: Vec<&'a str>, }, Imperative { action: Box<ExprView<'a>>, }, SpeechAct { performer: &'a str, act_type: &'a str, content: Box<ExprView<'a>>, }, Counterfactual { antecedent: Box<ExprView<'a>>, consequent: Box<ExprView<'a>>, }, Causal { effect: Box<ExprView<'a>>, cause: Box<ExprView<'a>>, }, Comparative { adjective: &'a str, subject: TermView<'a>, object: TermView<'a>, difference: Option<Box<TermView<'a>>>, }, Superlative { adjective: &'a str, subject: TermView<'a>, domain: &'a str, }, Scopal { operator: &'a str, body: Box<ExprView<'a>>, }, Control { verb: &'a str, subject: TermView<'a>, object: Option<TermView<'a>>, infinitive: Box<ExprView<'a>>, }, Presupposition { assertion: Box<ExprView<'a>>, presupposition: Box<ExprView<'a>>, }, Focus { kind: FocusKind, focused: TermView<'a>, scope: Box<ExprView<'a>>, }, TemporalAnchor { anchor: &'a str, body: Box<ExprView<'a>>, }, Distributive { predicate: Box<ExprView<'a>>, }, GroupQuantifier { group_var: &'a str, count: u32, member_var: &'a str, restriction: Box<ExprView<'a>>, body: Box<ExprView<'a>>, },
}

Variants§

§

Predicate

Fields

§name: &'a str
§args: Vec<TermView<'a>>
§

Identity

Fields

§left: TermView<'a>
§right: TermView<'a>
§

Metaphor

Fields

§tenor: TermView<'a>
§vehicle: TermView<'a>
§

Quantifier

Fields

§variable: &'a str
§body: Box<ExprView<'a>>
§

Categorical

Fields

§quantifier: TokenType
§subject: NounPhraseView<'a>
§copula_negative: bool
§predicate: NounPhraseView<'a>
§

Relation

Fields

§subject: NounPhraseView<'a>
§verb: &'a str
§object: NounPhraseView<'a>
§

Modal

Fields

§operand: Box<ExprView<'a>>
§

Temporal

Fields

§body: Box<ExprView<'a>>
§

Aspectual

Fields

§body: Box<ExprView<'a>>
§

Voice

Fields

§operator: VoiceOperator
§body: Box<ExprView<'a>>
§

BinaryOp

Fields

§left: Box<ExprView<'a>>
§right: Box<ExprView<'a>>
§

UnaryOp

Fields

§operand: Box<ExprView<'a>>
§

Question

Fields

§wh_variable: &'a str
§body: Box<ExprView<'a>>
§

YesNoQuestion

Fields

§body: Box<ExprView<'a>>
§

Atom(&'a str)

§

Lambda

Fields

§variable: &'a str
§body: Box<ExprView<'a>>
§

App

Fields

§function: Box<ExprView<'a>>
§argument: Box<ExprView<'a>>
§

Intensional

Fields

§operator: &'a str
§content: Box<ExprView<'a>>
§

Event

Fields

§predicate: Box<ExprView<'a>>
§adverbs: Vec<&'a str>
§

NeoEvent

Fields

§event_var: &'a str
§verb: &'a str
§roles: Vec<(ThematicRole, TermView<'a>)>
§modifiers: Vec<&'a str>
§

Imperative

Fields

§action: Box<ExprView<'a>>
§

SpeechAct

Fields

§performer: &'a str
§act_type: &'a str
§content: Box<ExprView<'a>>
§

Counterfactual

Fields

§antecedent: Box<ExprView<'a>>
§consequent: Box<ExprView<'a>>
§

Causal

Fields

§effect: Box<ExprView<'a>>
§cause: Box<ExprView<'a>>
§

Comparative

Fields

§adjective: &'a str
§subject: TermView<'a>
§object: TermView<'a>
§difference: Option<Box<TermView<'a>>>
§

Superlative

Fields

§adjective: &'a str
§subject: TermView<'a>
§domain: &'a str
§

Scopal

Fields

§operator: &'a str
§body: Box<ExprView<'a>>
§

Control

Fields

§verb: &'a str
§subject: TermView<'a>
§object: Option<TermView<'a>>
§infinitive: Box<ExprView<'a>>
§

Presupposition

Fields

§assertion: Box<ExprView<'a>>
§presupposition: Box<ExprView<'a>>
§

Focus

Fields

§focused: TermView<'a>
§scope: Box<ExprView<'a>>
§

TemporalAnchor

Fields

§anchor: &'a str
§body: Box<ExprView<'a>>
§

Distributive

Fields

§predicate: Box<ExprView<'a>>
§

GroupQuantifier

Fields

§group_var: &'a str
§count: u32
§member_var: &'a str
§restriction: Box<ExprView<'a>>
§body: Box<ExprView<'a>>

Trait Implementations§

Source§

impl<'a> Clone for ExprView<'a>

Source§

fn clone(&self) -> ExprView<'a>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Debug for ExprView<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a> PartialEq for ExprView<'a>

Source§

fn eq(&self, other: &ExprView<'a>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a> StructuralPartialEq for ExprView<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for ExprView<'a>

§

impl<'a> RefUnwindSafe for ExprView<'a>

§

impl<'a> Send for ExprView<'a>

§

impl<'a> Sync for ExprView<'a>

§

impl<'a> Unpin for ExprView<'a>

§

impl<'a> UnwindSafe for ExprView<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V