abstract_name
$$ = declare_parameter(abstract_name(), false);
$$ = declare_parameter(abstract_name(), false);
$$ = declare_abstract_type(abstract_name());
$$ = declare_abstract_type(abstract_name());
$$ = add_pointer(abstract_name(), $1);
$$ = add_array(abstract_name(), $2.has_dim, $2.dim);
sym_t *abstract_name(void);