pub struct Module<Intrinsic> {
pub vtable: Vec<Function<Intrinsic>>,
pub modules: Vec<Module<Intrinsic>>,
pub init: Option<Function<Intrinsic>>,
}
Expand description
A collection of functions and modules.
Fields§
§vtable: Vec<Function<Intrinsic>>
A list of functions defined in the module.
modules: Vec<Module<Intrinsic>>
A list of submodules.
init: Option<Function<Intrinsic>>
The initialization function of this module, if any.
Implementations§
source§impl<Intrinsic> Module<Intrinsic>where
Intrinsic: Clone + FromStr + Display,
impl<Intrinsic> Module<Intrinsic>where Intrinsic: Clone + FromStr + Display,
sourcepub fn new(
vtable: Vec<Function<Intrinsic>>,
modules: Vec<Module<Intrinsic>>,
init: Option<Function<Intrinsic>>
) -> Self
pub fn new( vtable: Vec<Function<Intrinsic>>, modules: Vec<Module<Intrinsic>>, init: Option<Function<Intrinsic>> ) -> Self
Returns a new module.
sourcepub fn from_asm(assembly: &str) -> Result<Self, AsmError>
pub fn from_asm(assembly: &str) -> Result<Self, AsmError>
Returns a module parsed from Bud Assembly (budasm
).
sourcepub fn load_into<'a, Output: FromStack, Env>(
&self,
context: &'a mut VirtualMachine<Env>
) -> Result<Output, Error<'a, Env, Output>>where
Env: Environment<Intrinsic = Intrinsic>,
pub fn load_into<'a, Output: FromStack, Env>( &self, context: &'a mut VirtualMachine<Env> ) -> Result<Output, Error<'a, Env, Output>>where Env: Environment<Intrinsic = Intrinsic>,
Runs all code in this unit in the passed context.