diff options
Diffstat (limited to 'crates/rebel-parse/src/grammar/recipe.rs')
-rw-r--r-- | crates/rebel-parse/src/grammar/recipe.rs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/crates/rebel-parse/src/grammar/recipe.rs b/crates/rebel-parse/src/grammar/recipe.rs index 393b12c..aaa40d2 100644 --- a/crates/rebel-parse/src/grammar/recipe.rs +++ b/crates/rebel-parse/src/grammar/recipe.rs @@ -27,8 +27,11 @@ peg::parser! { = body:body_stmt() ++ p(';') { ast::Body(body) } pub rule body_stmt() -> ast::BodyStmt<'a> - = dest:typed_expr() op:assign_op() expr:expr() { - ast::BodyStmt::assign(dest, op, expr) + = dest:typed_expr() p2('=', '+') expr:expr() { + ast::BodyStmt::assign(dest, Some(Add), true, expr) + } + / dest:typed_expr() op:assign_op() expr:expr() { + ast::BodyStmt::assign(dest, op, false, expr) } / expr:expr() { ast::BodyStmt::Expr { expr } |