Files
rasp/src/main.rs

35 lines
736 B
Rust
Raw Normal View History

#![allow(dead_code)]
mod common;
//mod syn;
mod vm;
use std::{
convert::TryFrom,
io::{self, Read},
process,
};
type Result<T> = std::result::Result<T, Box<dyn std::error::Error>>;
fn get_input_string() -> io::Result<String> {
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(())
}