mul/src/main.rs

23 lines
653 B
Rust

use std::io::{stdin, stdout, BufRead, Write};
use mul::parser::ExpressionParser;
fn main() {
let mut stdin = stdin().lock();
let mut stdout = stdout().lock();
let parser = ExpressionParser::new();
loop {
let mut line = String::new();
print!("> ");
stdout.flush().unwrap();
stdin
.read_line(&mut line)
.expect("Failed to read from stdin");
match parser.parse(line.as_str()) {
Ok(parsed) => println!("{parsed:?}"),
Err(lalrpop_util::ParseError::UnrecognizedEOF { .. }) => break,
Err(e) => println!("Parse error: {e}"),
}
}
}