summaryrefslogtreecommitdiffstats
path: root/crates/rebel-parse/src/grammar/recipe.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/rebel-parse/src/grammar/recipe.rs')
-rw-r--r--crates/rebel-parse/src/grammar/recipe.rs7
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 }