Fix a lot of parse errors at once
The problem was that the parser was not checking the last token properly
depending on the situation.
diff --git a/src/program.c b/src/program.c
index 7186abe..2e0966d 100644
--- a/src/program.c
+++ b/src/program.c
@@ -283,7 +283,8 @@
bc_lex_file(&parse.lex, "<stdin>");
if ((status = bc_lex_text(&parse.lex, buffer))) goto exec_err;
- status = bc_parse_expr(&parse, &func->code, BC_PARSE_NOREAD);
+ status = bc_parse_expr(&parse, &func->code, BC_PARSE_NOREAD,
+ bc_parse_next_cond);
if (status) return status;
if (parse.lex.token.type != BC_LEX_NEWLINE &&