20 lines
475 B
Rust
20 lines
475 B
Rust
use std::fs::read_to_string;
|
|
pub mod parse;
|
|
pub mod backend;
|
|
use parse::Parser;
|
|
use backend::Vm;
|
|
|
|
fn main() -> std::io::Result<()> {
|
|
let mut args = std::env::args();
|
|
let command = args.next().unwrap();
|
|
if let Some(filename) = args.next() {
|
|
let contents = read_to_string(filename)?;
|
|
let contents = contents.as_str();
|
|
Vm::new().vmrun(&mut Parser::new(contents));
|
|
} else {
|
|
eprintln!("Usage: {} filename", command);
|
|
std::process::exit(1);
|
|
}
|
|
Ok(())
|
|
}
|