mod common; //mod syn; mod vm; use std::{ io::{self, Read}, process, }; type Result = std::result::Result>; fn get_input_string() -> io::Result { let mut buffer = String::new(); io::stdin().read_to_string(&mut buffer)?; Ok(buffer) } fn main() -> Result<()> { use vm::syn::parser::ProgramParser; let contents = get_input_string()?; let ast = match ProgramParser::new().parse(&contents) { Ok(ast) => ast, Err(err) => { eprintln!("{}", err); process::exit(1); }, }; println!("{:#?}", ast); Ok(()) }