From b87b2d10bc4099307b4d715fd7da5c7a951f2691 Mon Sep 17 00:00:00 2001 From: PaddiM8 Date: Sun, 14 Jun 2020 22:33:29 +0200 Subject: [PATCH] Added `ans` variable. --- kalk/src/interpreter.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/kalk/src/interpreter.rs b/kalk/src/interpreter.rs index 4f60e77..931dd52 100644 --- a/kalk/src/interpreter.rs +++ b/kalk/src/interpreter.rs @@ -26,6 +26,15 @@ impl<'a> Context<'a> { for (i, stmt) in statements.iter().enumerate() { let value = eval_stmt(self, stmt); + // Insert the last value into the `ans` variable. + self.symbol_table.set( + "ans", + Stmt::VarDecl( + String::from("ans"), + Box::new(Expr::Literal(value.clone()?.to_string())), + ), + ); + if i == statements.len() - 1 { if let Stmt::Expr(_) = stmt { return Ok(Some(value?));