From e1fb87abfd1656f2909d7cf9954189754fe26efb Mon Sep 17 00:00:00 2001 From: Alex van de Sandt Date: Tue, 28 May 2024 15:09:06 -0400 Subject: [PATCH] Fix binary operator precedence while parsing --- src/parser.rs | 2 +- src/runners/file.rs | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/parser.rs b/src/parser.rs index 757c625..7d53e9c 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -76,7 +76,7 @@ macro_rules! parse_binary_expr { kind = ?&op, concat!("found ", stringify!($category), " operator") ); - let rhs = self.parse_expr()?; + let rhs = self.[]()?; expr = Expr::binary(expr, op, rhs); } diff --git a/src/runners/file.rs b/src/runners/file.rs index 2c8ddc0..40dee7b 100644 --- a/src/runners/file.rs +++ b/src/runners/file.rs @@ -17,7 +17,8 @@ pub fn run_file(path: &Path) -> Result<()> { dbg!(&tokens.len()); let ast = parse(tokens).map_err(|e| Report::new(e).with_source_code(contents.clone()))?; - dbg!(&ast); + println!("{contents}"); + println!("{}", ast.print_rpn()); let final_value = interpret(&ast).map_err(|e| Report::new(e).with_source_code(contents))?; println!("{final_value}"); -- 2.51.2