On Wed, 7 Dec 2005, Akim Demaille wrote:

"Joel" == Joel E Denny <[EMAIL PROTECTED]> writes:

> On Wed, 7 Dec 2005, Akim Demaille wrote:
>>>>> "Paul" == Paul Eggert <[EMAIL PROTECTED]> writes:
>>
>> > Why can't we simply rewrite the code so that it doesn't declare
>> > unused variables?
>>
>> Because you don't know whether yyerror, for instance, will use the
>> location, or the %parse-param.  But some users need them there.

> But the user writes yyerror, and I don't believe YYUSE is documented for
> the user to invoke.

Right :)  Consider the %printers and %destructors for instance.

In those cases, it also seems reasonable to leave it in the hands of the user. That is, if the user doesn't reference a semantic value in its printer or destructor, why did he declare its printer or destructor? Is this a legitimate usage? Shouldn't he be warned *somehow*? Maybe even by bison? Whether $$ occurs can be computed.

In general it seems that, as long as the interface for a passage of user code is documented, any compiler or lint warnings for that code should be the user's problem.

Note that I'm just talking philosophy here. I realize the implementation of this might require an internal redesign, as Paul said.

Joel


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

Reply via email to