- /* Apply default %destructor's only to user-defined symbols. */
- if (sym->tag[0] == '$' || sym == errtoken)
- return code_props_none;
-
- if (sym->type_name)
- return default_tagged_destructor;
- return default_tagless_destructor;
-}
-
-/*--------------------------------------.
-| Set the PRINTER associated with SYM. |
-`--------------------------------------*/
-
-void
-symbol_printer_set (symbol *sym, code_props printer)
-{
- if (code_props_code_get (sym->printer))
- symbol_redeclaration (sym, "%printer",
- code_props_location_get (sym->printer),
- code_props_location_get (printer));
- sym->printer = printer;
-}
-
-/*---------------------------------------.
-| Set the PRINTER associated with TYPE. |
-`---------------------------------------*/
-
-void
-semantic_type_printer_set (semantic_type *type, code_props printer)
-{
- if (code_props_code_get (type->printer))
- semantic_type_redeclaration (type, "%printer",
- code_props_location_get (type->printer),
- code_props_location_get (printer));
- type->printer = printer;
-}
-
-/*------------------------------------.
-| Get the computed %printer for SYM. |
-`------------------------------------*/
-
-code_props
-symbol_printer_get (symbol *sym)
-{
- /* Per-symbol %printer. */
- if (code_props_code_get (sym->printer))
- return sym->printer;
-
- /* Per-type %printer. */
- if (sym->type_name)