[expr parsing] handle the 'errors' monad through the parse context instead of through return composition

This commit is contained in:
Allen Webster
2021-10-01 23:11:05 -07:00
parent ed377ebd33
commit 2f6ada618a
3 changed files with 48 additions and 43 deletions
+1 -1
View File
@@ -369,7 +369,7 @@ operator_array[Op_##name].op = (MD_ExprOpr){ .op_id = Op_##name, .kind = MD_Expr
MD_ExprParseResult expr_parse = MD_ExprParse(arena, &op_table, parse.node->first_child, MD_NilNode());
if(expr_parse.errors.max_message_kind == MD_MessageKind_Null)
{
MD_String8 parser_answer = parenthesize(arena, operator_array, expr_parse.node);
MD_String8 parser_answer = parenthesize(arena, operator_array, expr_parse.expr);
if(!MD_S8Match(parser_answer, a, 0))
{
printf("Example %d : Expected answer for %.*s is %.*s. Got %.*s\n",