lang: ast: fill in stub functions for unit and unit-package

This commit is contained in:
2024-11-24 16:11:33 +00:00
parent 70aab9998b
commit ab74c882d1
2 changed files with 9 additions and 2 deletions

View File

@@ -21,10 +21,14 @@ static enum ivy_status parse_ident(struct ivy_parser *ctx, struct ivy_token *tok
struct unit_package_parser_state *state struct unit_package_parser_state *state
= parser_get_state(ctx, struct unit_package_parser_state); = parser_get_state(ctx, struct unit_package_parser_state);
struct ivy_ast_unit_package_node *node = (struct ivy_ast_unit_package_node *)(state->s_base.s_node);
if (state->s_prev_token == IVY_TOK_IDENT) { if (state->s_prev_token == IVY_TOK_IDENT) {
return IVY_ERR_BAD_SYNTAX; return IVY_ERR_BAD_SYNTAX;
} }
b_queue_push_back(&node->n_ident, &tok->t_entry);
state->s_prev_token = IVY_TOK_IDENT; state->s_prev_token = IVY_TOK_IDENT;
return IVY_OK; return IVY_OK;
} }
@@ -38,13 +42,14 @@ static enum ivy_status parse_linefeed(struct ivy_parser *ctx, struct ivy_token *
return IVY_ERR_BAD_SYNTAX; return IVY_ERR_BAD_SYNTAX;
} }
return IVY_ERR_IO_FAILURE; parser_pop_state(ctx, STATE_ADD_NODE_TO_PARENT);
return IVY_OK;
} }
static enum ivy_status add_child( static enum ivy_status add_child(
struct ivy_ast_node *parent, struct ivy_ast_node *child) struct ivy_ast_node *parent, struct ivy_ast_node *child)
{ {
return IVY_OK; return IVY_ERR_NOT_SUPPORTED;
} }
static void print(struct ivy_ast_node *node) static void print(struct ivy_ast_node *node)

View File

@@ -13,6 +13,8 @@ static enum ivy_status parse_package_keyword(
static enum ivy_status add_child( static enum ivy_status add_child(
struct ivy_ast_node *parent, struct ivy_ast_node *child) struct ivy_ast_node *parent, struct ivy_ast_node *child)
{ {
struct ivy_ast_unit_node *unit = (struct ivy_ast_unit_node *)parent;
b_queue_push_back(&unit->n_children, &child->n_entry);
return IVY_OK; return IVY_OK;
} }