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
