From: Wolfgang Bumiller Date: Sat, 31 Aug 2013 08:19:10 +0000 (+0200) Subject: fix unhelpful error message; fixes #123 X-Git-Tag: 0.3.5~112 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=87b9fca732c94a8fddd36c23e7ece364259fa3b7;p=xonotic%2Fgmqcc.git fix unhelpful error message; fixes #123 --- diff --git a/parser.c b/parser.c index 1cd74dd..9cbb8d1 100644 --- a/parser.c +++ b/parser.c @@ -311,8 +311,10 @@ static bool parser_sy_apply_operator(parser_t *parser, shunt *sy) ctx = vec_last(sy->ops).ctx; if (vec_size(sy->out) < op->operands) { - compile_error(ctx, "internal error: not enough operands: %i (operator %s (%i))", vec_size(sy->out), - op->op, (int)op->id); + if (op->flags & OP_PREFIX) + compile_error(ctx, "expected expression after unary operator `%s`", op->op, (int)op->id); + else /* this should have errored previously already */ + compile_error(ctx, "expected expression after operator `%s`", op->op, (int)op->id); return false; } @@ -1664,7 +1666,7 @@ static ast_expression* parse_expression_leave(parser_t *parser, bool stopatcomma } } if (o == operator_count) { - compile_error(parser_ctx(parser), "unknown operator: %s", parser_tokval(parser)); + compile_error(parser_ctx(parser), "unexpected operator: %s", parser_tokval(parser)); goto onerr; } /* found an operator */