[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
24-fyi-set-firsts.patch
From: |
Akim Demaille |
Subject: |
24-fyi-set-firsts.patch |
Date: |
Wed, 05 Dec 2001 08:26:02 +0100 |
Index: ChangeLog
from Akim Demaille <address@hidden>
* src/closure.c (set_firsts): De-obfuscate.
Index: src/closure.c
--- src/closure.c Wed, 28 Nov 2001 00:01:23 +0100 akim
+++ src/closure.c Mon, 03 Dec 2001 19:12:00 +0100 akim
@@ -124,33 +124,24 @@
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);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- 24-fyi-set-firsts.patch,
Akim Demaille <=