From 2a753e8af8e807c2e3237a26aef179f5e9c6e7ae Mon Sep 17 00:00:00 2001 From: Selimaj Dev Date: Sat, 2 May 2026 17:07:22 +0200 Subject: [PATCH] mutable Variable decleration --- parser/src/lib.rs | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/parser/src/lib.rs b/parser/src/lib.rs index 51e24d4..54247b6 100644 --- a/parser/src/lib.rs +++ b/parser/src/lib.rs @@ -188,9 +188,14 @@ impl From> for Statement { let mut var_decl = inner.next().unwrap().into_inner(); let type_ = var_decl.next().map(TypeExpr::try_from).unwrap().ok(); + let mutable = if var_decl.peek().unwrap().as_rule() == Rule::mutable { + var_decl.next(); + true + } else { + false + }; let name = var_decl.next().unwrap().as_str().to_string(); let init = inner.next().map(Expression::from); - let mutable = inner.next().is_some(); Statement::VarDecl { mutable, @@ -343,11 +348,3 @@ impl From> for Postfix { } } } - -fn parse_var_assign_no_semicolon(pair: pest::iterators::Pair) -> Statement { - let mut inner = pair.into_inner(); - let target = Expression::from(inner.next().unwrap()); - let value = Expression::from(inner.next().unwrap()); - - Statement::VarAssign { target, value } -}