Crate stak_vm

source ·
Expand description

A virtual machine and its runtime values.

Examples

use stak_code::{encode, Program};
use stak_device::FixedBufferDevice;
use stak_primitive::SmallPrimitiveSet;
use stak_vm::Vm;

const HEAP_SIZE: usize = 1 << 10;
const BUFFER_SIZE: usize = 1 << 10;

let mut heap = [Default::default(); HEAP_SIZE];
let device = FixedBufferDevice::<BUFFER_SIZE, BUFFER_SIZE, BUFFER_SIZE>::new();
let mut vm = Vm::new(&mut heap, SmallPrimitiveSet::new(device)).unwrap();

// Replace this with actual bytecodes of your program.
let program = encode(&Program::new(vec![], vec![]));

vm.initialize(program).unwrap();
vm.run().unwrap();

Structs

Enums

  • An error of a virtual machine.
  • A type in Scheme.

Traits