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