Virtual Machine
The virtual machine is the heart of lovm2
projects and thrives computation forward. It maintains the whole program state inside a LV2Context
and shares said data with every function and module interested in it.
Context
The context stores the programs state.
#![allow(unused)] fn main() { pub struct LV2Context { /// the module that will be run first entry: Option<Rc<dyn LV2CallProtocol>>, /// available functions scope: HashMap<LV2Variable, LV2CallableRef>, /// global variables globals: HashMap<LV2Variable, LV2Value>, /// call stack with local variables lstack: Vec<LV2Frame>, /// value stack vstack: Vec<LV2Value>, } }