lunar_wave/src/main.rs

35 lines
719 B
Rust
Raw Normal View History

mod loader;
mod state;
2023-09-24 21:34:28 +00:00
#[cfg (test)]
mod tests;
2023-09-24 21:34:28 +00:00
fn main() {
use state::State;
let lua_file = {
let data = std::fs::read ("test_vectors/closure.luac").unwrap ();
let mut rdr = std::io::Cursor::new (data);
loader::parse_chunk (&mut rdr).unwrap ()
};
assert_eq! (lua_file.blocks.len (), 3);
let mut vm = State::default ();
2023-09-25 00:47:17 +00:00
if std::env::var("LUA_DEBUG").is_ok() {
vm.debug_print = true;
}
let upvalues = State::upvalues_from_args (std::env::args ());
vm.breakpoints.push (state::Breakpoint {
block_idx: 2,
program_counter: 3,
});
vm.breakpoints.push (state::Breakpoint {
block_idx: 0,
program_counter: 10,
});
println! ("Returned: {:?}", vm.execute_chunk (&lua_file, &upvalues));
2023-09-24 21:57:12 +00:00
}