summaryrefslogtreecommitdiff
path: root/src/nullable.c
diff options
context:
space:
mode:
authorAkim Demaille <akim@epita.fr>2001-12-29 14:15:33 +0000
committerAkim Demaille <akim@epita.fr>2001-12-29 14:15:33 +0000
commit3d4daee37491bab92ce270b37b257aadcf709c3c (patch)
tree6eb5455f4506f9fd1de9f0ea2e4d594479ec52a2 /src/nullable.c
parent9e7f6bbd5930d4d7365f65d33721cfbf651ca487 (diff)
downloadbison-3d4daee37491bab92ce270b37b257aadcf709c3c.tar.gz
* src/derives.c (print_derives): Be sure to use `>= 0', not `> 0',
when walking through ritem, even via rule->rhs. * src/reduce.c (dump_grammar, useful_production, reduce_output) (useful_production, useless_nonterminals): Likewise. (reduce_grammar_tables): Likewise, plus update nritems. * src/nullable.c (set_nullable): Likewise. * src/lalr.c (build_relations): Likewise. * tests/sets.at (Nullable): Adjust. Fortunately, now, the $axiom is no longer nullable.
Diffstat (limited to 'src/nullable.c')
-rw-r--r--src/nullable.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/nullable.c b/src/nullable.c
index bce291ca..0b6d614f 100644
--- a/src/nullable.c
+++ b/src/nullable.c
@@ -71,19 +71,19 @@ set_nullable (void)
for (ruleno = 1; ruleno < nrules + 1; ++ruleno)
if (rule_table[ruleno].useful)
{
- if (ritem[rule_table[ruleno].rhs] > 0)
+ if (ritem[rule_table[ruleno].rhs] >= 0)
{
/* This rule has a non empty RHS. */
short *r;
int any_tokens = 0;
- for (r = ritem + rule_table[ruleno].rhs; *r > 0; ++r)
+ for (r = &ritem[rule_table[ruleno].rhs]; *r >= 0; ++r)
if (ISTOKEN (*r))
any_tokens = 1;
/* This rule has only nonterminals: schedule it for the second
pass. */
if (!any_tokens)
- for (r = ritem + rule_table[ruleno].rhs; *r > 0; ++r)
+ for (r = &ritem[rule_table[ruleno].rhs]; *r >= 0; ++r)
{
rcount[ruleno]++;
p->next = rsets[*r];