/[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.65 by eggert, Wed Dec 11 05:32:51 2002 UTC revision 1.66 by eggert, Fri Dec 13 04:45:04 2002 UTC
# Line 128  set_firsts (void) Line 128  set_firsts (void)
128    firsts = bitsetv_create (nvars, nvars, BITSET_FIXED);    firsts = bitsetv_create (nvars, nvars, BITSET_FIXED);
129    
130    for (i = ntokens; i < nsyms; i++)    for (i = ntokens; i < nsyms; i++)
131      for (j = 0; derives[i][j]; ++j)      for (j = 0; derives[i - ntokens][j]; ++j)
132        {        {
133          item_number sym = derives[i][j]->rhs[0];          item_number sym = derives[i - ntokens][j]->rhs[0];
134          if (ISVAR (sym))          if (ISVAR (sym))
135            bitset_set (FIRSTS (i), sym - ntokens);            bitset_set (FIRSTS (i), sym - ntokens);
136        }        }
# Line 168  set_fderives (void) Line 168  set_fderives (void)
168    for (i = ntokens; i < nsyms; ++i)    for (i = ntokens; i < nsyms; ++i)
169      for (j = ntokens; j < nsyms; ++j)      for (j = ntokens; j < nsyms; ++j)
170        if (bitset_test (FIRSTS (i), j - ntokens))        if (bitset_test (FIRSTS (i), j - ntokens))
171          for (k = 0; derives[j][k]; ++k)          for (k = 0; derives[j - ntokens][k]; ++k)
172            bitset_set (FDERIVES (i), derives[j][k]->number);            bitset_set (FDERIVES (i), derives[j - ntokens][k]->number);
173    
174    if (trace_flag & trace_sets)    if (trace_flag & trace_sets)
175      print_fderives ();      print_fderives ();
# Line 182  set_fderives (void) Line 182  set_fderives (void)
182  void  void
183  new_closure (int n)  new_closure (int n)
184  {  {
185    itemset = XCALLOC (item_number, n);    CALLOC (itemset, n);
186    
187    ruleset = bitset_create (nrules, BITSET_FIXED);    ruleset = bitset_create (nrules, BITSET_FIXED);
188    
# Line 241  closure (item_number *core, int n) Line 241  closure (item_number *core, int n)
241  void  void
242  free_closure (void)  free_closure (void)
243  {  {
244    XFREE (itemset);    free (itemset);
245    bitset_free (ruleset);    bitset_free (ruleset);
246    bitsetv_free (fderives);    bitsetv_free (fderives);
247  }  }

Legend:
Removed from v.1.65  
changed lines
  Added in v.1.66

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