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)