summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/parser.cc10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/parser.cc b/src/parser.cc
index 4881f7bc..91eb61bb 100644
--- a/src/parser.cc
+++ b/src/parser.cc
@@ -159,10 +159,9 @@ expr_t::parser_t::parse_mul_expr(std::istream& in,
if (! node->right())
throw_(parse_error,
tok.symbol << " operator not followed by argument");
-
- tok = next_token(in, tflags);
+ } else {
+ push_token(tok);
}
- push_token(tok);
}
return node;
@@ -187,10 +186,9 @@ expr_t::parser_t::parse_add_expr(std::istream& in,
if (! node->right())
throw_(parse_error,
tok.symbol << " operator not followed by argument");
-
- tok = next_token(in, tflags);
+ } else {
+ push_token(tok);
}
- push_token(tok);
}
return node;