pub enum Instruction {
Show 53 variants
PushInt(i32),
PushFloat(f64),
PushBool(bool),
PushNone,
PushString(String),
Pop,
Add,
Sub,
Mul,
Div,
Mod,
Negate,
Eq,
Ne,
Lt,
Le,
Gt,
Ge,
GetGlobal(String),
SetGlobal(String),
GetLocal(usize),
SetLocal(usize),
Jump(usize),
JumpIfFalse(usize),
MakeFunction {
name: String,
params: Vec<String>,
code_len: usize,
},
Call(usize),
Return,
Print(usize),
Int,
Float,
Len,
Range,
BuildList(usize),
BuildDict(usize),
GetItem,
SetItem,
CallMethod(String, usize),
GetIter,
ForIter(usize),
Break,
Continue,
Raise,
MakeException(ExceptionType),
SetupTry(usize),
PopTry,
GetExceptionType,
MatchException,
Dup,
SetupFinally(usize),
PopFinally,
EndFinally,
Import(String),
GetAttr(String),
}Expand description
Bytecode instructions for the VM
Variants§
PushInt(i32)
PushFloat(f64)
PushBool(bool)
PushNone
PushString(String)
Pop
Add
Sub
Mul
Div
Mod
Negate
Eq
Ne
Lt
Le
Gt
Ge
GetGlobal(String)
SetGlobal(String)
GetLocal(usize)
SetLocal(usize)
Jump(usize)
JumpIfFalse(usize)
MakeFunction
Call(usize)
Return
Print(usize)
Int
Float
Len
Range
BuildList(usize)
BuildDict(usize)
GetItem
SetItem
CallMethod(String, usize)
GetIter
ForIter(usize)
Break
Continue
Raise
MakeException(ExceptionType)
SetupTry(usize)
PopTry
GetExceptionType
MatchException
Dup
SetupFinally(usize)
PopFinally
EndFinally
Import(String)
GetAttr(String)
Trait Implementations§
Source§impl Clone for Instruction
impl Clone for Instruction
Source§fn clone(&self) -> Instruction
fn clone(&self) -> Instruction
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 Instruction
impl Debug for Instruction
Source§impl PartialEq for Instruction
impl PartialEq for Instruction
impl StructuralPartialEq for Instruction
Auto Trait Implementations§
impl Freeze for Instruction
impl RefUnwindSafe for Instruction
impl Send for Instruction
impl Sync for Instruction
impl Unpin for Instruction
impl UnwindSafe for Instruction
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<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more