mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
* src/closure.c (closure): No longer optimize the special case
where all the bits of `ruleset[r]' are set to 0, to make the code clearer.
This commit is contained in:
@@ -1,3 +1,10 @@
|
||||
2001-11-28 Akim Demaille <akim@epita.fr>
|
||||
|
||||
* src/closure.c (closure): No longer optimize the special case
|
||||
where all the bits of `ruleset[r]' are set to 0, to make the code
|
||||
clearer.
|
||||
|
||||
|
||||
2001-11-28 Akim Demaille <akim@epita.fr>
|
||||
|
||||
* src/closure.c (closure): `r' and `c' are new variables, used to
|
||||
|
||||
@@ -273,31 +273,24 @@ closure (short *core, int n)
|
||||
c = 0;
|
||||
for (r = 0; r < rulesetsize; ++r)
|
||||
{
|
||||
if (ruleset[r] == 0)
|
||||
{
|
||||
ruleno += BITS_PER_WORD;
|
||||
}
|
||||
else
|
||||
{
|
||||
int b;
|
||||
int b;
|
||||
|
||||
for (b = 0; b < BITS_PER_WORD; b++)
|
||||
for (b = 0; b < BITS_PER_WORD; b++)
|
||||
{
|
||||
if (ruleset[r] & (1 << b))
|
||||
{
|
||||
if (ruleset[r] & (1 << b))
|
||||
itemno = rule_table[ruleno].rhs;
|
||||
while (c < n && core[c] < itemno)
|
||||
{
|
||||
itemno = rule_table[ruleno].rhs;
|
||||
while (c < n && core[c] < itemno)
|
||||
{
|
||||
itemset[itemsetsize] = core[c];
|
||||
itemsetsize++;
|
||||
c++;
|
||||
}
|
||||
itemset[itemsetsize] = itemno;
|
||||
itemset[itemsetsize] = core[c];
|
||||
itemsetsize++;
|
||||
c++;
|
||||
}
|
||||
|
||||
ruleno++;
|
||||
itemset[itemsetsize] = itemno;
|
||||
itemsetsize++;
|
||||
}
|
||||
|
||||
ruleno++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user