This grammar:
%{
/* bison declarations */
%}
%name-prefix="rumpelstiltskin"
%defines
%glr-parser
%start GrammarRoot
%%
/* grammar */
GrammarRoot:
"All" "your" "base" "are" "belong" "to" "us"
%%
generates the following .h file:
#ifndef YYSTYPE
typedef int YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
#endif
#if ! defined YYLTYPE && ! defined
YYLTYPE_IS_DECLARED
typedef struct YYLTYPE
{
char yydummy;
} YYLTYPE;
# define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1
#endif
extern YYSTYPE b4_prefixlval;
^^^^^^^^^^^^^
This should be rumpelstiltskinlval (which is what Bison 2.3 generates).
(Same thing without the '=' but that is incompatible with 2.3)
--
Life is complex, with real and imaginary parts.