diff --git a/src/main.rs b/src/main.rs index 6168e38..a270205 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,6 +4,7 @@ use std::env; use std::fs; use std::iter::Peekable; use std::process::exit; +use std::time::Instant; #[derive(Debug, Clone, PartialEq)] enum Token @@ -212,15 +213,17 @@ fn compile(file_content: &String, intrinsics: &HashMap<&str, (Vec, Vec println!("---Done validating function calls---"); typecheck(&operations, &functions, &intrinsics, &arrays, debug)?; println!("---Done typechecking---"); + let start = Instant::now(); + println!("---Starting to interpret the program---"); let output = if interpret { - println!("---Starting to interpret the program---"); Some(interpret_program(&operations, &mut Vec::new(), &functions, &mut arrays, &intrinsics, debug)?) } else { None }; + println!("---Done after {:?}---", start.elapsed()); if !interpret { match generate_assembly_linux_x64(&operations, &functions, &intrinsics, &arrays, debug)