-output_rule_data (void)
-{
- int i;
- int j;
- short *short_tab = NULL;
-
- output_table_data (&output_obstack, rline,
- 0, 1, nrules + 1);
- muscle_insert ("rline", obstack_finish (&output_obstack));
-
- j = 0;
- for (i = 0; i < nsyms; i++)
- /* this used to be i<=nsyms, but that output a final "" symbol
- almost by accident */
- {
- /* Width of the next token, including the two quotes, the coma
- and the space. */
- int strsize = 4;
- char *p;
-
- for (p = tags[i]; p && *p; p++)
- if (*p == '"' || *p == '\\' || *p == '\n' || *p == '\t'
- || *p == '\b')
- strsize += 2;
- else if (*p < 040 || *p >= 0177)
- strsize += 4;
- else
- strsize++;
-
- if (j + strsize > 75)
- {
- obstack_sgrow (&output_obstack, "\n ");
- j = 2;
- }
-
- obstack_1grow (&output_obstack, '\"');
- for (p = tags[i]; p && *p; p++)
- {
- if (*p == '"' || *p == '\\')
- obstack_fgrow1 (&output_obstack, "\\%c", *p);
- else if (*p == '\n')
- obstack_sgrow (&output_obstack, "\\n");
- else if (*p == '\t')
- obstack_sgrow (&output_obstack, "\\t");
- else if (*p == '\b')
- obstack_sgrow (&output_obstack, "\\b");
- else if (*p < 040 || *p >= 0177)
- obstack_fgrow1 (&output_obstack, "\\%03o", *p);
- else
- obstack_1grow (&output_obstack, *p);
- }
-
- obstack_sgrow (&output_obstack, "\", ");
- j += strsize;
- }
- /* add a NULL entry to list of tokens */
- obstack_sgrow (&output_obstack, "NULL");
-
- /* Finish table and store. */
- obstack_1grow (&output_obstack, 0);
- muscle_insert ("tname", obstack_finish (&output_obstack));
-
- /* Output YYTOKNUM. */
- output_table_data (&output_obstack, user_toknums,
- 0, 1, ntokens + 1);
- muscle_insert ("toknum", obstack_finish (&output_obstack));
-
- /* Output YYR1. */
- output_table_data (&output_obstack, rlhs,
- 0, 1, nrules + 1);
- muscle_insert ("r1", obstack_finish (&output_obstack));
- XFREE (rlhs + 1);
-
- /* Output YYR2. */
- short_tab = XMALLOC (short, nrules + 1);
- for (i = 1; i < nrules; i++)
- short_tab[i] = rrhs[i + 1] - rrhs[i] - 1;
- short_tab[nrules] = nitems - rrhs[nrules] - 1;
- output_table_data (&output_obstack, short_tab,
- 0, 1, nrules + 1);
- muscle_insert ("r2", obstack_finish (&output_obstack));
- XFREE (short_tab);
-
- XFREE (rrhs + 1);
-}
-
-/*------------------------------------------------------------------.
-| Decide what to do for each type of token if seen as the lookahead |
-| token in specified state. The value returned is used as the |
-| default action (yydefact) for the state. In addition, actrow is |
-| filled with what to do for each kind of token, index by symbol |
-| number, with zero meaning do the default action. The value |
-| MINSHORT, a very negative number, means this situation is an |
-| error. The parser recognizes this value specially. |
-| |
-| This is where conflicts are resolved. The loop over lookahead |
-| rules considered lower-numbered rules last, and the last rule |
-| considered that likes a token gets to handle it. |
-`------------------------------------------------------------------*/
-
-static int
-action_row (int state)