On Mon, 9 Jan 2006, Akim Demaille wrote:

> IMHO, it is a bug that the parse-params are not given to the mergers.

I agree that it would be convenient to have those in some cases.  In cases 
where it's not, I'll probably just define my mergers as variadic so that I 
don't have to maintain their prototypes to match %parse-param's.

As long as we're considering breaking old user code, I have another issue 
with the merger prototypes.  The return type of a user merger must be the 
declared type of the LHS symbol, but the parameter types must both be 
YYSTYPE.  Why the inconsistency?  For an example, look in the 
bison-generated yyuserMerge for test case `Incorrect lookahead during 
nondeterministic GLR' (currently #158).

The documentation confuses this issue.  Its %merge example #define's 
YYSTYPE.  Thus, it's able to use YYSTYPE as the return type of a merger.  
I haven't found any documentation explaining that this won't work with 
%union (as in test case #158).  Did I miss it?

Joel


Reply via email to