lang: ast: re-factor parser into multiple files

This commit is contained in:
2024-11-24 11:10:42 +00:00
parent a25683ddc9
commit f1ea916155
12 changed files with 423 additions and 276 deletions

View File

@@ -31,6 +31,7 @@ enum ivy_ast_node_type {
IVY_AST_COND,
IVY_AST_TUPLE,
IVY_AST_DO,
IVY_AST_TYPE_COUNT,
};
enum ivy_ast_op {
@@ -121,8 +122,8 @@ struct ivy_ast_property_node {
struct ivy_ast_node *n_get;
/* one of either:
* a) a lambda. the lambda is executed with the provided value as a
* parameter to set the property value; or, b) NULL. the property is
* read-only.
* parameter to set the property value; or,
* b) NULL. the property is read-only.
*/
struct ivy_ast_node *n_set;
};
@@ -230,7 +231,8 @@ IVY_API void ivy_parser_destroy(struct ivy_parser *parser);
IVY_API enum ivy_status ivy_parser_get_status(struct ivy_parser *parser);
IVY_API enum ivy_status ivy_parser_push_token(struct ivy_parser *parser, struct ivy_token *tok);
IVY_API enum ivy_status ivy_parser_push_token(
struct ivy_parser *parser, struct ivy_token *tok);
IVY_API void ivy_ast_node_destroy(struct ivy_ast_node *node);