273 |
c = 0; |
c = 0; |
274 |
for (r = 0; r < rulesetsize; ++r) |
for (r = 0; r < rulesetsize; ++r) |
275 |
{ |
{ |
276 |
if (ruleset[r] == 0) |
int b; |
|
{ |
|
|
ruleno += BITS_PER_WORD; |
|
|
} |
|
|
else |
|
|
{ |
|
|
int b; |
|
277 |
|
|
278 |
for (b = 0; b < BITS_PER_WORD; b++) |
for (b = 0; b < BITS_PER_WORD; b++) |
279 |
|
{ |
280 |
|
if (ruleset[r] & (1 << b)) |
281 |
{ |
{ |
282 |
if (ruleset[r] & (1 << b)) |
itemno = rule_table[ruleno].rhs; |
283 |
|
while (c < n && core[c] < itemno) |
284 |
{ |
{ |
285 |
itemno = rule_table[ruleno].rhs; |
itemset[itemsetsize] = core[c]; |
|
while (c < n && core[c] < itemno) |
|
|
{ |
|
|
itemset[itemsetsize] = core[c]; |
|
|
itemsetsize++; |
|
|
c++; |
|
|
} |
|
|
itemset[itemsetsize] = itemno; |
|
286 |
itemsetsize++; |
itemsetsize++; |
287 |
|
c++; |
288 |
} |
} |
289 |
|
itemset[itemsetsize] = itemno; |
290 |
ruleno++; |
itemsetsize++; |
291 |
} |
} |
292 |
|
|
293 |
|
ruleno++; |
294 |
} |
} |
295 |
} |
} |
296 |
|
|