30 lines
650 B
Rust
Raw Normal View History

use crate::ast::InterfaceType;
pub mod interpreter;
mod stack;
pub mod wasm;
#[derive(PartialEq, Debug)]
pub enum Instruction<'input> {
ArgumentGet(u64),
Call(usize),
CallExport(&'input str),
ReadUtf8,
WriteUtf8(&'input str),
AsWasm(InterfaceType),
AsInterface(InterfaceType),
TableRefAdd,
TableRefGet,
CallMethod(u64),
MakeRecord(InterfaceType),
GetField(InterfaceType, u64),
Const(InterfaceType, u64),
FoldSeq(u64),
Add(InterfaceType),
MemToSeq(InterfaceType, &'input str),
Load(InterfaceType, &'input str),
SeqNew(InterfaceType),
ListPush,
RepeatWhile(u64, u64),
}