From 1be0fb8a0456289d08f3c671c8a3739993c869cd Mon Sep 17 00:00:00 2001 From: Alek Ratzloff Date: Thu, 17 Sep 2020 13:17:53 -0700 Subject: [PATCH] Add implementations for parsing assign statements, forgot to do this Signed-off-by: Alek Ratzloff --- src/syn/parser.y | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/syn/parser.y b/src/syn/parser.y index 05d2a25..6e12e87 100644 --- a/src/syn/parser.y +++ b/src/syn/parser.y @@ -19,12 +19,12 @@ Body -> Result>: Stmt -> Result: Expr { Ok(Stmt::Expr($1?)) } - | Assign { todo!() } + | Assign { Ok(Stmt::Assign($1?)) } ; Assign -> Result: LhsExpr '=' Expr { - todo!() + Ok(AssignStmt { lhs: $1?, rhs: $3? }) } ; @@ -32,7 +32,7 @@ LhsExpr -> Result: AccessExpr { let lhs = match $1? { Expr::Access(access) => LhsExpr::SetAttr(*access), - Expr::Atom(Atom::Ident(local)) => LhsExpr::Local(local), + Expr::Atom(Atom::Ident(local)) => LhsExpr::Name(local), _ => todo!("TODO : invalid syntax, raise error"), }; Ok(lhs)