extern crate rubic; use std::{fs, env}; use std::io::prelude::*; fn parse(file_path: &str) -> Result<(), rubic::parse::Error> { println!("Tokenizing '{}'", file_path); let mut file = fs::File::open(file_path)?; let mut file_data = String::new(); file.read_to_string(&mut file_data)?; let parser = rubic::parse::Parser::new(file_data.chars()); let ast = parser.parse()?; println!("{:#?}", ast); Ok(()) } fn main() { if let Some(file_path) = env::args().skip(1).next() { if let Err(e) = parse(&file_path) { println!("error: {}", e); } } else { println!("please enter an input file"); } }