pub enum Expression {
Literal(Literal<ModusTerm>),
OperatorApplication(Option<SpannedPosition>, Box<Expression>, Operator),
And(Option<SpannedPosition>, bool, Box<Expression>, Box<Expression>),
Or(Option<SpannedPosition>, bool, Box<Expression>, Box<Expression>),
}
Expand description
Represents expressions that could be found in the body of a ModusClause. Each enum variant will have some notion of span and whether it’s negated. False would mean it is negated.
Variants§
Literal(Literal<ModusTerm>)
OperatorApplication(Option<SpannedPosition>, Box<Expression>, Operator)
And(Option<SpannedPosition>, bool, Box<Expression>, Box<Expression>)
Or(Option<SpannedPosition>, bool, Box<Expression>, Box<Expression>)
Implementations§
Source§impl Expression
impl Expression
pub fn get_spanned_position(&self) -> &Option<SpannedPosition>
pub fn without_position(&self) -> Self
pub fn literals(&self) -> HashSet<Literal<ModusTerm>>
Sourcepub fn negate_current(&self) -> Expression
pub fn negate_current(&self) -> Expression
Negates at the current expression level. So, does not apply De Morgan’s laws.
Trait Implementations§
Source§impl Clone for Expression
impl Clone for Expression
Source§fn clone(&self) -> Expression
fn clone(&self) -> Expression
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for Expression
impl Debug for Expression
Source§impl Display for Expression
impl Display for Expression
Source§impl FromStr for Expression
impl FromStr for Expression
Source§impl PartialEq for Expression
impl PartialEq for Expression
impl StructuralPartialEq for Expression
Auto Trait Implementations§
impl Freeze for Expression
impl RefUnwindSafe for Expression
impl Send for Expression
impl Sync for Expression
impl Unpin for Expression
impl UnwindSafe for Expression
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<I, T> ExtractContext<I, ()> for T
impl<I, T> ExtractContext<I, ()> for T
Source§fn extract_context(self, _original_input: I)
fn extract_context(self, _original_input: I)
Given the context attached to a nom error, and given the original
input to the nom parser, extract more the useful context information. Read more
Source§impl<T> Indentable for Twhere
T: Display,
impl<T> Indentable for Twhere
T: Display,
Source§fn indented_skip_initial(self, indent: &str) -> IndentedSkipIntial<'_, Self>
fn indented_skip_initial(self, indent: &str) -> IndentedSkipIntial<'_, Self>
Source§impl<I> RecreateContext<I> for I
impl<I> RecreateContext<I> for I
Source§fn recreate_context(_original_input: I, tail: I) -> I
fn recreate_context(_original_input: I, tail: I) -> I
Given the original input, as well as the context reported by nom,
recreate a context in the original string where the error occurred. Read more