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
Identity
Metaphor
Quantifier
Categorical
Relation
Modal
Temporal
Aspectual
Voice
BinaryOp
UnaryOp
Question
YesNoQuestion
Atom(&'a str)
Lambda
App
Intensional
Event
NeoEvent
Fields
§
roles: Vec<(ThematicRole, TermView<'a>)>Imperative
SpeechAct
Counterfactual
Causal
Comparative
Fields
Superlative
Scopal
Control
Fields
Presupposition
Focus
TemporalAnchor
Distributive
GroupQuantifier
Trait Implementations§
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> 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