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

Diff of /bison/src/closure.c

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

revision 1.13.2.12 by akim, Wed Nov 28 14:57:16 2001 UTC revision 1.13.2.13 by akim, Wed Nov 28 14:57:30 2001 UTC
# Line 235  new_closure (int n) Line 235  new_closure (int n)
235  void  void
236  closure (short *core, int n)  closure (short *core, int n)
237  {  {
   int ruleno;  
238    /* Index over CORE. */    /* Index over CORE. */
239    int c;    int c;
240    
# Line 243  closure (short *core, int n) Line 242  closure (short *core, int n)
242    int r;    int r;
243    
244    /* A bit index over RULESET. */    /* A bit index over RULESET. */
245    int b;    int ruleno;
246    
247    if (trace_flag)    if (trace_flag)
248      {      {
# Line 269  closure (short *core, int n) Line 268  closure (short *core, int n)
268              ruleset[r] |= FDERIVES (ritem[core[c]])[r];              ruleset[r] |= FDERIVES (ritem[core[c]])[r];
269      }      }
270    
   ruleno = 0;  
271    itemsetsize = 0;    itemsetsize = 0;
272    c = 0;    c = 0;
273    for (b = 0; b < rulesetsize * BITS_PER_WORD; ++b)    for (ruleno = 0; ruleno < rulesetsize * BITS_PER_WORD; ++ruleno)
274      {      if (BITISSET (ruleset, ruleno))
275        if (BITISSET (ruleset, b))        {
276          {          int itemno = rule_table[ruleno].rhs;
277            int itemno = rule_table[ruleno].rhs;          while (c < n && core[c] < itemno)
278            while (c < n && core[c] < itemno)            {
279              {              itemset[itemsetsize] = core[c];
280                itemset[itemsetsize] = core[c];              itemsetsize++;
281                itemsetsize++;              c++;
282                c++;            }
283              }          itemset[itemsetsize] = itemno;
284            itemset[itemsetsize] = itemno;          itemsetsize++;
285            itemsetsize++;        }
         }  
   
       ruleno++;  
     }  
286    
287    while (c < n)    while (c < n)
288      {      {

Legend:
Removed from v.1.13.2.12  
changed lines
  Added in v.1.13.2.13

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