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.





Reply via email to