aboutsummaryrefslogtreecommitdiff
path: root/src/parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/parse.c')
-rw-r--r--src/parse.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/parse.c b/src/parse.c
index 0aa26002..9d4d35ee 100644
--- a/src/parse.c
+++ b/src/parse.c
@@ -1685,19 +1685,19 @@ PARSER(parse_update) {
if (!lhs) return NULL;
spaces(&pos);
ast_e op;
- if (match(&pos, "+=")) op = Plus;
- else if (match(&pos, "++=")) op = Concat;
- else if (match(&pos, "-=")) op = Minus;
- else if (match(&pos, "*=")) op = Multiply;
- else if (match(&pos, "/=")) op = Divide;
- else if (match(&pos, "^=")) op = Power;
- else if (match(&pos, "<<=")) op = LeftShift;
- else if (match(&pos, "<<<=")) op = UnsignedLeftShift;
- else if (match(&pos, ">>=")) op = RightShift;
- else if (match(&pos, ">>>=")) op = UnsignedRightShift;
- else if (match(&pos, "and=")) op = And;
- else if (match(&pos, "or=")) op = Or;
- else if (match(&pos, "xor=")) op = Xor;
+ if (match(&pos, "+=")) op = PlusUpdate;
+ else if (match(&pos, "++=")) op = ConcatUpdate;
+ else if (match(&pos, "-=")) op = MinusUpdate;
+ else if (match(&pos, "*=")) op = MultiplyUpdate;
+ else if (match(&pos, "/=")) op = DivideUpdate;
+ else if (match(&pos, "^=")) op = PowerUpdate;
+ else if (match(&pos, "<<=")) op = LeftShiftUpdate;
+ else if (match(&pos, "<<<=")) op = UnsignedLeftShiftUpdate;
+ else if (match(&pos, ">>=")) op = RightShiftUpdate;
+ else if (match(&pos, ">>>=")) op = UnsignedRightShiftUpdate;
+ else if (match(&pos, "and=")) op = AndUpdate;
+ else if (match(&pos, "or=")) op = OrUpdate;
+ else if (match(&pos, "xor=")) op = XorUpdate;
else return NULL;
ast_t *rhs = expect(ctx, start, &pos, parse_extended_expr, "I expected an expression here");
return new(ast_t, .file=ctx->file, .start=start, .end=pos, .tag=op, .__data.PlusUpdate.lhs=lhs, .__data.PlusUpdate.rhs=rhs);