/[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.68 by akim, Mon Nov 19 10:08:54 2001 UTC revision 1.69 by akim, Mon Nov 19 10:19:20 2001 UTC
# Line 167  output_token_translations (void) Line 167  output_token_translations (void)
167  static void  static void
168  output_gram (void)  output_gram (void)
169  {  {
170    output_table_data (&output_obstack, rrhs,    {
171                       0, 1, nrules + 1);      int i;
172        short *values = XCALLOC (short, nrules + 1);
173        for (i = 0; i < nrules + 1; ++i)
174          values[i] = rule_table[i].rhs;
175        output_table_data (&output_obstack, values,
176                           0, 1, nrules + 1);
177        XFREE (values);
178      }
179    
180    muscle_insert ("prhs", obstack_finish (&output_obstack));    muscle_insert ("prhs", obstack_finish (&output_obstack));
181    
182    {    {
# Line 279  output_rule_data (void) Line 287  output_rule_data (void)
287    muscle_insert ("toknum", obstack_finish (&output_obstack));    muscle_insert ("toknum", obstack_finish (&output_obstack));
288    
289    /* Output YYR1. */    /* Output YYR1. */
290    output_table_data (&output_obstack, rlhs,    {
291                       0, 1, nrules + 1);      short *values = XCALLOC (short, nrules + 1);
292    muscle_insert ("r1", obstack_finish (&output_obstack));      for (i = 0; i < nrules + 1; ++i)
293    XFREE (rlhs + 1);        values[i] = rule_table[i].lhs;
294        output_table_data (&output_obstack, values,
295                           0, 1, nrules + 1);
296        muscle_insert ("r1", obstack_finish (&output_obstack));
297        XFREE (values);
298      }
299    
300    /* Output YYR2. */    /* Output YYR2. */
301    short_tab = XMALLOC (short, nrules + 1);    short_tab = XMALLOC (short, nrules + 1);
302    for (i = 1; i < nrules; i++)    for (i = 1; i < nrules; i++)
303      short_tab[i] = rrhs[i + 1] - rrhs[i] - 1;      short_tab[i] = rule_table[i + 1].rhs - rule_table[i].rhs - 1;
304    short_tab[nrules] = nitems - rrhs[nrules] - 1;    short_tab[nrules] =  nitems - rule_table[nrules].rhs - 1;
305    output_table_data (&output_obstack, short_tab,    output_table_data (&output_obstack, short_tab,
306                       0, 1, nrules + 1);                       0, 1, nrules + 1);
307    muscle_insert ("r2", obstack_finish (&output_obstack));    muscle_insert ("r2", obstack_finish (&output_obstack));
308    XFREE (short_tab);    XFREE (short_tab);
309    
310    XFREE (rrhs + 1);    XFREE (rule_table + 1);
311  }  }
312    
313  /*------------------------------------------------------------------.  /*------------------------------------------------------------------.

Legend:
Removed from v.1.68  
changed lines
  Added in v.1.69

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