/[bison]/bison/src/output.c
ViewVC logotype

Diff of /bison/src/output.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.39.2.10 by akim, Mon Nov 19 09:11:21 2001 UTC revision 1.39.2.11 by akim, Mon Nov 19 09:12:25 2001 UTC
# Line 319  output_gram (void) Line 319  output_gram (void)
319    if (!semantic_parser && !no_parser_flag)    if (!semantic_parser && !no_parser_flag)
320      obstack_sgrow (&table_obstack, "\n#if YYDEBUG != 0\n");      obstack_sgrow (&table_obstack, "\n#if YYDEBUG != 0\n");
321    
322    output_short_table (&table_obstack, NULL, "yyprhs", rrhs,    {
323                        0, 1, nrules + 1);      int i;
324        short *values = XCALLOC (short, nrules + 1);
325        for (i = 0; i < nrules + 1; ++i)
326          values[i] = rule_table[i].rhs;
327        output_short_table (&table_obstack, NULL, "yyprhs", values,
328                            0, 1, nrules + 1);
329        XFREE (values);
330      }
331    
332    {    {
333      size_t yyrhs_size = 1;      size_t yyrhs_size = 1;
# Line 455  output_rule_data (void) Line 462  output_rule_data (void)
462      }      }
463    
464    /* Output YYR1. */    /* Output YYR1. */
465    output_short_table (&table_obstack,    {
466        short *values = XCALLOC (short, nrules + 1);
467        for (i = 0; i < nrules + 1; ++i)
468          values[i] = rule_table[i].lhs;
469        output_short_table (&table_obstack,
470                "YYR1[YYN] -- Symbol number of symbol that rule YYN derives",                "YYR1[YYN] -- Symbol number of symbol that rule YYN derives",
471                        "yyr1", rlhs,                          "yyr1", values,
472                        0, 1, nrules + 1);                          0, 1, nrules + 1);
473    XFREE (rlhs + 1);      XFREE (values);
474      }
475    
476    obstack_1grow (&table_obstack, '\n');    obstack_1grow (&table_obstack, '\n');
477    
478    /* Output YYR2. */    /* Output YYR2. */
479    short_tab = XMALLOC (short, nrules + 1);    short_tab = XMALLOC (short, nrules + 1);
480    for (i = 1; i < nrules; i++)    for (i = 1; i < nrules; i++)
481      short_tab[i] = rrhs[i + 1] - rrhs[i] - 1;      short_tab[i] = rule_table[i + 1].rhs - rule_table[i].rhs - 1;
482    short_tab[nrules] = nitems - rrhs[nrules] - 1;    short_tab[nrules] = nitems - rule_table[nrules].rhs - 1;
483    output_short_table (&table_obstack,    output_short_table (&table_obstack,
484          "YYR2[YYN] -- Number of symbols composing right hand side of rule YYN",          "YYR2[YYN] -- Number of symbols composing right hand side of rule YYN",
485                        "yyr2", short_tab,                        "yyr2", short_tab,
# Line 476  output_rule_data (void) Line 488  output_rule_data (void)
488    
489    XFREE (short_tab);    XFREE (short_tab);
490    
491    XFREE (rrhs + 1);    XFREE (rule_table + 1);
492  }  }
493    
494    

Legend:
Removed from v.1.39.2.10  
changed lines
  Added in v.1.39.2.11

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26