- {
- int i;
-
- for (i = 0; i < default_dict.nvar; i++)
- printf ("%s ", default_dict.var[i]->name);
- }
- printf ("\n");
-
- printf ("\t/FORMAT=");
- if (fmt == LIST)
- printf ("LIST");
- else if (fmt == FREE)
- printf ("FREE");
- else
- assert (0);
- if (section == LOWER)
- printf (" LOWER");
- else if (section == UPPER)
- printf (" UPPER");
- else if (section == FULL)
- printf (" FULL");
- else
- assert (0);
- if (diag == DIAGONAL)
- printf (" DIAGONAL\n");
- else if (diag == NODIAGONAL)
- printf (" NODIAGONAL\n");
- else
- assert (0);
-
- if (dict_get_split_cnt (default_dict) != 0)
- {
- int i;
-
- printf ("\t/SPLIT=");
- for (i = 0; i < dict_get_split_cnt (default_dict); i++)
- printf ("%s ", dict_get_split_vars (default_dict)[i]->name);
- if (single_split)
- printf ("\t/* single split");
- printf ("\n");
- }
-
- if (n_factors)
- {
- int i;
-
- printf ("\t/FACTORS=");
- for (i = 0; i < n_factors; i++)
- printf ("%s ", factors[i]->name);
- printf ("\n");
- }
-
- if (cells != -1)
- printf ("\t/CELLS=%d\n", cells);
-
- if (mx->pop_n != -1)
- printf ("\t/N=%d\n", mx->pop_n);
-
- if (mx->n_contents)
- {
- int i;
- int space = 0;
-
- printf ("\t/CONTENTS=");
- for (i = 0; i < mx->n_contents; i++)
- {
- if (mx->contents[i] == LPAREN)
- {
- if (space)
- printf (" ");
- printf ("(");
- space = 0;
- }
- else if (mx->contents[i] == RPAREN)
- {
- printf (")");
- space = 1;
- }
- else
- {
-
- assert (mx->contents[i] >= 0 && mx->contents[i] <= PROX);
- if (space)
- printf (" ");
- printf ("%s", content_names[mx->contents[i]]);
- space = 1;
- }
- }
- printf ("\n");
- }
+ assert (v->aux == NULL);
+ mv = xmalloc (sizeof *mv);
+ mv->var_type = var_type;
+ mv->sub_type = sub_type;
+ var_attach_aux (v, mv, var_dtor_free);