#include #include static void to_string(const struct bshell_ast_node *node, fx_bstr *out) { const struct bshell_word_ast_node *word = (const struct bshell_word_ast_node *)node; fx_bstr_write_fmt(out, NULL, "%s", word->n_value->tok_str); } static enum bshell_status cleanup(struct bshell_ast_node *node) { struct bshell_word_ast_node *w = (struct bshell_word_ast_node *)node; bshell_lex_token_destroy(w->n_value); return BSHELL_SUCCESS; } struct bshell_ast_node_definition word_bshell_ast_node = { .def_id = BSHELL_AST_WORD, .def_node_size = sizeof(struct bshell_word_ast_node), .def_to_string = to_string, .def_cleanup = cleanup, };