lang: add match-expression parser/generator

This commit is contained in:
2025-11-04 10:35:52 +00:00
parent b444a565a2
commit 58fa746aa1
4 changed files with 141 additions and 0 deletions

View File

@@ -277,6 +277,14 @@ static struct code_generator_result gen_for_loop(
return CODEGEN_RESULT_OK(CODEGEN_R_REPEAT_NODE);
}
static struct code_generator_result gen_match(
struct ivy_codegen *gen, struct code_generator_state *state,
struct ivy_ast_node *node, size_t depth)
{
codegen_push_generator(gen, CODE_GENERATOR_MATCH, 0, NULL);
return CODEGEN_RESULT_OK(CODEGEN_R_REPEAT_NODE);
}
#if 0
static struct code_generator_result gen_var_ref(
struct ivy_codegen *gen, struct code_generator_state *state,
@@ -725,5 +733,6 @@ struct code_generator expr_generator = {
NODE_CODEGEN(IDENT, gen_var_reference),
NODE_CODEGEN(COND_GROUP, gen_cond_group),
NODE_CODEGEN(FOR_LOOP, gen_for_loop),
NODE_CODEGEN(MATCH, gen_match),
},
};