frontend: update ast traversal api usage

This commit is contained in:
2025-04-14 09:46:36 +01:00
parent fd91bb71c0
commit c682cbb15a
3 changed files with 53 additions and 18 deletions

View File

@@ -17,8 +17,12 @@ enum {
static int compile_file(const char *path, const b_arglist *args)
{
bool show_lex = b_arglist_get_count(args, OPT_SHOW_LEX_TOKENS, B_COMMAND_INVALID_ID) > 0;
bool show_ast = b_arglist_get_count(args, OPT_SHOW_AST_NODES, B_COMMAND_INVALID_ID) > 0;
bool show_lex = b_arglist_get_count(
args, OPT_SHOW_LEX_TOKENS, B_COMMAND_INVALID_ID)
> 0;
bool show_ast = b_arglist_get_count(
args, OPT_SHOW_AST_NODES, B_COMMAND_INVALID_ID)
> 0;
FILE *fp = fopen(path, "r");
if (!fp) {
@@ -83,7 +87,8 @@ static int compile_file(const char *path, const b_arglist *args)
if (r == 0 && show_ast) {
struct ivy_ast_node *root = ivy_parser_root_node(parser);
struct ivy_ast_node_iterator it = {0};
ivy_ast_node_iterate(root, &it, print_ast_node);
ivy_ast_node_iterate(
root, &it, IVY_AST_ITERATE_REGULAR, print_ast_node);
}
if (lex) {