Skip to main content

ByteCode

Enum ByteCode 

Source
pub enum ByteCode {
Show 48 variants Noop, Swap { r1: u8, r2: u8, }, Copy { dest: u8, src: u8, }, Print { src: u8, }, Read { dest: u8, }, LoadGlobal { dest: u8, sym: u8, }, StoreGlobal { src: u8, sym: u8, }, MemLoad { dest: u8, store: u8, key: u8, }, MemStore { store: u8, key: u8, src: u8, }, NewList { dest: u8, }, NewMap { dest: u8, }, LoadBool { dest: u8, val: bool, }, LoadNull { dest: u8, }, LoadInt { dest: u8, val: i16, }, LoadSym { dest: u8, val: u16, }, LoadLocal { dest: u8, id: u16, }, LoadUpvalue { dest: u8, id: u16, }, StoreUpvalue { func: u8, src: u8, }, Equality { dest: u8, lhs: u8, rhs: u8, }, Inequality { dest: u8, lhs: u8, rhs: u8, }, Gt { dest: u8, lhs: u8, rhs: u8, }, Gte { dest: u8, lhs: u8, rhs: u8, }, Lt { dest: u8, lhs: u8, rhs: u8, }, Lte { dest: u8, lhs: u8, rhs: u8, }, Div { dest: u8, lhs: u8, rhs: u8, }, Mult { dest: u8, lhs: u8, rhs: u8, }, Add { dest: u8, lhs: u8, rhs: u8, }, Sub { dest: u8, lhs: u8, rhs: u8, }, Modulo { dest: u8, lhs: u8, rhs: u8, }, StoreArg { src: u8, }, Call { dest: u8, src: u8, }, Return { src: u8, }, Jump { offset: i16, }, Jnt { src: u8, offset: i16, }, Jit { src: u8, offset: i16, }, Import { dest: u8, path: u8, }, Push { store: u8, src: u8, }, Pop { dest: u8, src: u8, }, Len { dest: u8, src: u8, }, Clone { dest: u8, src: u8, }, Type { dest: u8, src: u8, }, Delete { dest: u8, store: u8, key: u8, }, Bind { dest: u8, func: u8, arg: u8, }, BitFlip { dest: u8, src: u8, }, BitXor { dest: u8, lhs: u8, rhs: u8, }, BitOr { dest: u8, lhs: u8, rhs: u8, }, BitAnd { dest: u8, lhs: u8, rhs: u8, }, BitShift { dest: u8, lhs: u8, rhs: u8, },
}

Variants§

§

Noop

§

Swap

Fields

§r1: u8
§r2: u8
§

Copy

Fields

§dest: u8
§src: u8
§

Print

Fields

§src: u8
§

Read

Fields

§dest: u8
§

LoadGlobal

Fields

§dest: u8
§sym: u8
§

StoreGlobal

Fields

§src: u8
§sym: u8
§

MemLoad

Fields

§dest: u8
§store: u8
§key: u8
§

MemStore

Fields

§store: u8
§key: u8
§src: u8
§

NewList

Fields

§dest: u8
§

NewMap

Fields

§dest: u8
§

LoadBool

Fields

§dest: u8
§val: bool
§

LoadNull

Fields

§dest: u8
§

LoadInt

Fields

§dest: u8
§val: i16
§

LoadSym

Fields

§dest: u8
§val: u16
§

LoadLocal

Fields

§dest: u8
§id: u16
§

LoadUpvalue

Fields

§dest: u8
§id: u16
§

StoreUpvalue

Fields

§func: u8
§src: u8
§

Equality

Fields

§dest: u8
§lhs: u8
§rhs: u8
§

Inequality

Fields

§dest: u8
§lhs: u8
§rhs: u8
§

Gt

Fields

§dest: u8
§lhs: u8
§rhs: u8
§

Gte

Fields

§dest: u8
§lhs: u8
§rhs: u8
§

Lt

Fields

§dest: u8
§lhs: u8
§rhs: u8
§

Lte

Fields

§dest: u8
§lhs: u8
§rhs: u8
§

Div

Fields

§dest: u8
§lhs: u8
§rhs: u8
§

Mult

Fields

§dest: u8
§lhs: u8
§rhs: u8
§

Add

Fields

§dest: u8
§lhs: u8
§rhs: u8
§

Sub

Fields

§dest: u8
§lhs: u8
§rhs: u8
§

Modulo

Fields

§dest: u8
§lhs: u8
§rhs: u8
§

StoreArg

Fields

§src: u8
§

Call

Fields

§dest: u8
§src: u8
§

Return

Fields

§src: u8
§

Jump

Fields

§offset: i16
§

Jnt

Fields

§src: u8
§offset: i16
§

Jit

Fields

§src: u8
§offset: i16
§

Import

Fields

§dest: u8
§path: u8
§

Push

Fields

§store: u8
§src: u8
§

Pop

Fields

§dest: u8
§src: u8
§

Len

Fields

§dest: u8
§src: u8
§

Clone

Fields

§dest: u8
§src: u8
§

Type

Fields

§dest: u8
§src: u8
§

Delete

Fields

§dest: u8
§store: u8
§key: u8
§

Bind

Fields

§dest: u8
§func: u8
§arg: u8
§

BitFlip

Fields

§dest: u8
§src: u8
§

BitXor

Fields

§dest: u8
§lhs: u8
§rhs: u8
§

BitOr

Fields

§dest: u8
§lhs: u8
§rhs: u8
§

BitAnd

Fields

§dest: u8
§lhs: u8
§rhs: u8
§

BitShift

Fields

§dest: u8
§lhs: u8
§rhs: u8

Trait Implementations§

Source§

impl Clone for ByteCode

Source§

fn clone(&self) -> ByteCode

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Copy for ByteCode

Source§

impl Debug for ByteCode

Source§

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

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

impl Display for ByteCode

Source§

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

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

impl Trace for ByteCode

Source§

impl TraceLeaf for ByteCode

Auto Trait Implementations§

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> Is for T
where T: ?Sized,

Source§

type EqTo = T

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> ToString for T
where T: Display + ?Sized,

Source§

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

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.