#![allow(dead_code)] mod common; //mod syn; mod vm; use std::{ convert::TryFrom, 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::obj::syn::parser::SectionsParser; let contents = get_input_string()?; let ast = match SectionsParser::new().parse(&contents) { Ok(ast) => ast, Err(err) => { eprintln!("{}", err); process::exit(1); }, }; let obj = vm::obj::obj::Object::try_from(&ast)?; println!("{:#?}", obj); Ok(()) }