for (i = ntokens; i < nsyms; i++)
{
fprintf (stderr, "\t%s derives\n", symbols[i]->tag);
- for (j = 0; j <= nrules; j++)
+ for (j = 0; j < nrules + 1; j++)
if (bitset_test (FDERIVES (i), j))
{
short *rhsp;
if (trace_flag)
print_closure ("input", core, n);
- if (n == 0)
- {
- bitset_copy (ruleset, FDERIVES (start_symbol));
- }
- else
- {
- bitset_zero (ruleset);
+ bitset_zero (ruleset);
- for (c = 0; c < n; ++c)
- if (ISVAR (ritem[core[c]]))
- bitset_or (ruleset, ruleset, FDERIVES (ritem[core[c]]));
- }
+ for (c = 0; c < n; ++c)
+ if (ISVAR (ritem[core[c]]))
+ bitset_or (ruleset, ruleset, FDERIVES (ritem[core[c]]));
nitemset = 0;
c = 0;