Enum zen_expression::compiler::Opcode

source ·
pub enum Opcode<'a> {
Show 69 variants Push(Variable<'a>), Pop, Rot, Fetch, FetchRootEnv, FetchEnv(&'a str), Negate, Not, Equal, Jump(usize), JumpIfTrue(usize), JumpIfFalse(usize), JumpIfNotNull(usize), JumpIfEnd(usize), JumpBackward(usize), In, Less, More, LessOrEqual, MoreOrEqual, Abs, Average, Median, Mode, Min, Max, Round, Floor, Ceil, Sum, Random, Add, Subtract, Multiply, Divide, Modulo, Exponent, Interval { left_bracket: &'a str, right_bracket: &'a str, }, Contains, Keys, Values, DateFunction(&'a str), DateManipulation(&'a str), Uppercase, Lowercase, StartsWith, EndsWith, Matches, FuzzyMatch, Join, Split, Extract, Slice, Array, Len, ParseDateTime, ParseTime, ParseDuration, IncrementIt, IncrementCount, GetCount, GetLen, Pointer, Begin, End, Flatten, GetType, TypeConversion(TypeConversionKind), TypeCheck(TypeCheckKind),
}
Expand description

Machine code interpreted by VM

Variants§

§

Push(Variable<'a>)

§

Pop

§

Rot

§

Fetch

§

FetchRootEnv

§

FetchEnv(&'a str)

§

Negate

§

Not

§

Equal

§

Jump(usize)

§

JumpIfTrue(usize)

§

JumpIfFalse(usize)

§

JumpIfNotNull(usize)

§

JumpIfEnd(usize)

§

JumpBackward(usize)

§

In

§

Less

§

More

§

LessOrEqual

§

MoreOrEqual

§

Abs

§

Average

§

Median

§

Mode

§

Min

§

Max

§

Round

§

Floor

§

Ceil

§

Sum

§

Random

§

Add

§

Subtract

§

Multiply

§

Divide

§

Modulo

§

Exponent

§

Interval

Fields

§left_bracket: &'a str
§right_bracket: &'a str
§

Contains

§

Keys

§

Values

§

DateFunction(&'a str)

§

DateManipulation(&'a str)

§

Uppercase

§

Lowercase

§

StartsWith

§

EndsWith

§

Matches

§

FuzzyMatch

§

Join

§

Split

§

Extract

§

Slice

§

Array

§

Len

§

ParseDateTime

§

ParseTime

§

ParseDuration

§

IncrementIt

§

IncrementCount

§

GetCount

§

GetLen

§

Pointer

§

Begin

§

End

§

Flatten

§

GetType

§

TypeConversion(TypeConversionKind)

§

TypeCheck(TypeCheckKind)

Trait Implementations§

source§

impl<'a> Debug for Opcode<'a>

source§

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

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

impl<'a> Display for Opcode<'a>

source§

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

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

impl<'a> PartialEq for Opcode<'a>

source§

fn eq(&self, other: &Opcode<'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> Eq for Opcode<'a>

source§

impl<'a> StructuralPartialEq for Opcode<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for Opcode<'a>

§

impl<'a> !RefUnwindSafe for Opcode<'a>

§

impl<'a> !Send for Opcode<'a>

§

impl<'a> !Sync for Opcode<'a>

§

impl<'a> Unpin for Opcode<'a>

§

impl<'a> !UnwindSafe for Opcode<'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> 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> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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>,

§

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.