Attached is the .y file.This is a part of the SXEmacs source, where we had a report of a build failure with bison 2.4 which we tracked down to this behavior.
The relevant files would be under modules/cl. You can get them from http://downloads.sxemacs.org
As far as defining manually the YYSTYPE I did it by adding on line 30:
typedef int YYSTYPE;
On another .h file [cl-loop.h] I needed to define:
extern int
cl_loop_yylex(YYSTYPE*, Lisp_Object*,
cl_loop_sentence_t*, Lisp_Object*, Lisp_Object*);
which used to work with just including the generated .h, but not
anymore.
cl-loop-parser.y
Description: Binary data
On Nov 9, 2008, at 3:08 PM, Joel E. Denny wrote:
On Sun, 9 Nov 2008, Nelson Ferreira wrote:I have a very very simple parser and in 2.3 I could define some additional functions using YYSTYPE just by including the generated header because itdefined: #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef int YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 #endif however, now in 2.4 this is what I get there: #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 #endif This strikes me as a bug, specially because you actually define YYSTYPE_IS_DECLARED to 1 without defining YYSTYPE.Please show us a complete grammar file that causes this behavior.I also tried defining YYSTYPE in the .y itself but it had absolutely noinfluence in the generated .y.Please show us exactly what you did here too. Thanks.
_______________________________________________ [email protected] http://lists.gnu.org/mailman/listinfo/help-bison
