[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
04-fyi-fix-set-nullable.patch
From: |
Akim Demaille |
Subject: |
04-fyi-fix-set-nullable.patch |
Date: |
Wed, 05 Dec 2001 08:24:22 +0100 |
Index: ChangeLog
from Akim Demaille <address@hidden>
* src/nullable.c (set_nullable): Use a for loop to de-obfuscate
the handling of squeue.
`symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
Index: src/nullable.c
--- src/nullable.c Sat, 01 Dec 2001 13:09:59 +0100 akim
+++ src/nullable.c Sat, 01 Dec 2001 13:22:49 +0100 akim
@@ -107,23 +107,16 @@
}
while (s1 < s2)
- {
- p = rsets[*s1++];
- while (p)
- {
- int ruleno = p->value;
- p = p->next;
- if (--rcount[ruleno] == 0)
+ for (p = rsets[*s1++]; p; p = p->next)
+ {
+ int ruleno = p->value;
+ if (--rcount[ruleno] == 0)
+ if (rule_table[ruleno].useful && !nullable[rule_table[ruleno].lhs])
{
- int symbol = rule_table[ruleno].lhs;
- if (symbol >= 0 && !nullable[symbol])
- {
- nullable[symbol] = 1;
- *s2++ = symbol;
- }
+ nullable[rule_table[ruleno].lhs] = 1;
+ *s2++ = rule_table[ruleno].lhs;
}
- }
- }
+ }
XFREE (squeue);
XFREE (rcount);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- 04-fyi-fix-set-nullable.patch,
Akim Demaille <=