mod state; #[cfg (test)] mod tests; fn main() { use state::Instruction as Inst; use state::State; let chunk = state::Chunk { instructions: vec! [ Inst::VarArgPrep (0), Inst::LoadK (0, 0), Inst::LoadI (1, 3), Inst::Add (2, 0, 1), Inst::MmBin (0, 1, 6), Inst::GetTabUp (3, 0, 1), Inst::Move (4, 2), Inst::Call (3, 2, 1), Inst::Return (2, 2, 1), Inst::Return (3, 1, 1), ], constants: vec! [ 0.5.into (), "print".into (), ], }; let mut vm = State::default (); let upvalues = State::upvalues_from_args (std::env::args ()); println! ("Returned: {:?}", vm.execute_chunk (&chunk, &upvalues)); }