use std::env; //use std::io::Write; use std::process; mod rlox_interpreter; mod scanner; mod token; mod token_type; use crate::rlox_interpreter::RLoxInterpreter; // Exit codes from #include const EX_OK: i32 = 0; //const EX_DATAERR: i32 = 65; const EX_USAGE : i32 = 66; fn main() { let args: Vec = env::args().collect(); let exit_code = match args.len() { 1 => { RLoxInterpreter::new().run_prompt() } , 2 => { RLoxInterpreter::new().run_file(&args[1]) }, _ => { println!("Usage : rlox [script]"); EX_USAGE } }; process::exit(exit_code); } // Implémentations de référence : // https://github.com/munificent/craftinginterpreters/wiki/Lox-implementations#rust // Pause : // http://www.craftinginterpreters.com/scanning.html#lexical-errors