More helpful errors when parsing expressions.

This commit is contained in:
Dianne Skoll
2025-10-30 14:30:29 -04:00
parent 35e222967c
commit 05ead8c40d
3 changed files with 24 additions and 6 deletions
+13 -1
View File
@@ -2759,9 +2759,20 @@ expr_node *parse_expression(char const **e, int *r, Var *locals)
print_expr_tree(node, ErrFp);
fprintf(ErrFp, "\n");
}
if (**e && (**e != ']')) {
}
if (**e && (**e != ']')) {
if (DebugFlag & DB_PARSE_EXPR) {
fprintf(ErrFp, " Unparsed: %s\n", *e);
}
if (*r == OK) {
*r = E_EXPECTING_EOXPR;
}
}
if (*r != OK) {
if (node) {
free_expr_tree(node);
node = NULL;
}
}
if (!SuppressErrorOutputInCatch) {
if (*r == E_EXPECT_COMMA ||
@@ -2771,6 +2782,7 @@ expr_node *parse_expression(char const **e, int *r, Var *locals)
*r == E_2FEW_ARGS ||
*r == E_PARSE_ERR ||
*r == E_EOLN ||
*r == E_EXPECTING_EOXPR ||
*r == E_BAD_NUMBER ||
*r == E_BAD_DATE ||
*r == E_BAD_TIME ||