6 a->
name = mstrdup(p, name);
7 text_init(&a->
text, p);
13 text_release(&a->
text);
18 text_release(&a->
text);
19 free_mstr(p, a->
name);
26 free_mstr(p, s->
name);
34 s->
name = mstrdup(p, name);
36 s->
text = new_text(p);
42 , ,
return h->table[idx] =
mkentry(h->p, arg, sym);)
44 ,
if (prev) prev->
next = s->
next;
else h->table[idx] =
NULL;
include this file to use gwion-ast library
void free_entry(MemPool p, void *data)
void clean_macroarg(const MacroArg a)
hstraction(Macro, Macro, has,, return sym;,, return NULL) hstraction(Macro
static Macro mkentry(MemPool p, const m_str name, const Macro next)
static void free_args(MemPool p, const MacroArg a)
MacroArg new_macroarg(MemPool p, const m_str name)
void macro_del(const Hash)