On Wed, 14 Jul 2010, Wilson Snyder wrote:

> I have a grammar which was working (I thought) for bison
> 2.3. Or, at least it is in production use, and has no bison
> errors :).
> 
> When I compile this grammar with bison 2.4.2, I get the
> following:
> 
>   Rules useless in parser due to conflicts
>     560 senitemEdge: "posedge" expr "iff" expr
>     562            | "negedge" expr "iff" expr
>     564            | "edge" expr "iff" expr

I haven't explored your grammar, but I can tell you that Bison 2.3b 
introduced the removal of unreachable states, and that can uncover more 
useless rules.  See the 2.3b entry in NEWS for a description of this 
feature.  If you dislike it, you can add the following directive to your 
grammar:

  %define lr.keep-unreachable-states

However, it's probably worth your time to figure out why those rules are 
useless.

Reply via email to