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
= 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) {
return IVY_ERR_BAD_SYNTAX;
}
b_queue_push_back(&node->n_ident, &tok->t_entry);
state->s_prev_token = IVY_TOK_IDENT;
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_IO_FAILURE;
parser_pop_state(ctx, STATE_ADD_NODE_TO_PARENT);
return IVY_OK;
}
static enum ivy_status add_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)

View File

@@ -13,6 +13,8 @@ static enum ivy_status parse_package_keyword(
static enum ivy_status add_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;
}