extern crate mexprp;
use std::io::{self, Write};
use mexprp::Expression;
fn main() {
println!("MEXPRP Test Calculator\n---------------------");
loop {
let mut buf = String::new();
print!("> ");
io::stdout().flush().unwrap();
io::stdin().read_line(&mut buf).unwrap();
let expr: Expression<f64> = match Expression::parse(&buf) {
Ok(expr) => expr,
Err(e) => {
println!("Failed to parse expression: {}", e);
continue;
}
};
match expr.eval() {
Ok(val) => println!("\t= {}", val),
Err(e) => println!("Failed to evaluate the expression: {}", e),
}
}
}