On Fri, 27 Oct 2006 [EMAIL PROTECTED] wrote:

> > Then again, I try to 
> > avoid mid-rules, $0, and $-n, so maybe I don't have the right feel for
> > this.  
> maybe disable the check completely if $0 or $-n is used.

That's an interesting possibility.  However, I worry that there are cases 
where that produces unexpected results for the user.  For example, imagine 
a grammar that uses $0 in a single rule that perhaps has absolutely no 
direct or indirect association with any mid-rules.  Bison would then fail 
to warn about mid-rules everywhere even when the user is expecting them.  
The user who has grown accustomed to these warnings would then have a 
false sense of security as he probably would not guess that $0 disabled 
the warnings.

I'd rather choose a global default (mid-rule warnings on or off) and then 
let the user specify otherwise either globally (-W) or case-by-case (USE).

> What is the impact of the unused $n ?

I believe our original motivation to implement all these set/unset value 
warnings was to help users avoid memory leaks.  This can be relevant with 
mid-rule values.  However, in the specific case of mid-rule values, we 
felt that it's usually a mistake anyway when a user sets $$ an doesn't use 
$n.  Is that what you're asking?

> And also since bison are LALR(1) the restriction of checking by looking just 
> one level ahead is not that far off.

I don't see a connection between one level down and one token of 
lookahead.  Did I misunderstand you?


_______________________________________________
help-bison@gnu.org http://lists.gnu.org/mailman/listinfo/help-bison

Reply via email to