[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: glr.c: merge & %parse-param
From: |
Joel E. Denny |
Subject: |
Re: glr.c: merge & %parse-param |
Date: |
Mon, 9 Jan 2006 13:34:23 -0500 (EST) |
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