* src/closure.c (set_firsts): De-obfuscate.

This commit is contained in:
Akim Demaille
2001-12-05 09:39:27 +00:00
parent 7a5350baa0
commit 3f6f053ce5
2 changed files with 14 additions and 19 deletions

View File

@@ -1,3 +1,7 @@
2001-12-05 Akim Demaille <akim@epita.fr>
* src/closure.c (set_firsts): De-obfuscate.
2001-12-05 Akim Demaille <akim@epita.fr>
* src/output.c (action_row): De-obfuscate

View File

@@ -124,33 +124,24 @@ print_fderives (void)
static void
set_firsts (void)
{
unsigned *row;
int symbol;
short *sp;
int rowsize;
int i;
int i, j;
varsetsize = rowsize = WORDSIZE (nvars);
firsts = XCALLOC (unsigned, nvars * rowsize);
row = firsts;
for (i = ntokens; i < nsyms; i++)
{
sp = derives[i];
while (*sp >= 0)
{
symbol = ritem[rule_table[*sp++].rhs];
if (ISVAR (symbol))
{
symbol -= ntokens;
SETBIT (row, symbol);
}
}
row += rowsize;
}
for (j = 0; derives[i][j] >= 0; ++j)
{
int symbol = ritem[rule_table[derives[i][j]].rhs];
if (ISVAR (symbol))
{
symbol -= ntokens;
SETBIT (FIRSTS (i - ntokens), symbol);
}
}
RTC (firsts, nvars);