Load asm from commandline
This commit is contained in:
parent
e15a2e2aaf
commit
8bdd8a47f6
27
src/main.rs
27
src/main.rs
@ -1,5 +1,7 @@
|
|||||||
mod vm;
|
mod vm;
|
||||||
|
|
||||||
|
use std::{env, fs};
|
||||||
|
use std::io::{stderr, Write};
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use vm::FootVM;
|
use vm::FootVM;
|
||||||
|
|
||||||
@ -111,16 +113,25 @@ impl ApplicationHandler for App
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const ASM_SRC: &'static str = include_str!("../examples/first.asm");
|
|
||||||
|
|
||||||
fn main()
|
fn main()
|
||||||
{
|
{
|
||||||
let mut vm = FootVM::new();
|
let args: Vec<String> = env::args().collect();
|
||||||
vm.load(ASM_SRC, Some(&mut std::io::stderr())).expect("");
|
if args.len() < 2
|
||||||
|
{
|
||||||
|
_ = stderr().write("No filename supplied".as_bytes())
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
let src = fs::read_to_string(&args[1])
|
||||||
|
.expect("Unable to read file");
|
||||||
|
|
||||||
let event_loop = EventLoop::new().unwrap();
|
let mut vm = FootVM::new();
|
||||||
event_loop.set_control_flow(ControlFlow::Poll);
|
vm.load(src.as_str(), Some(&mut std::io::stderr())).expect("");
|
||||||
|
|
||||||
let mut app = App::new(vm);
|
let event_loop = EventLoop::new().unwrap();
|
||||||
event_loop.run_app(&mut app).expect("");
|
event_loop.set_control_flow(ControlFlow::Poll);
|
||||||
|
|
||||||
|
let mut app = App::new(vm);
|
||||||
|
event_loop.run_app(&mut app).expect("");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user