When generating a C parser, YYEMPTY is present in enum yytokentype
but there is no corresponding #define like there is for the other
values.  There is a special case for YYEMPTY in b4_token_enums but
no corresponding case in b4_token_defines.

Something like the following works, but is quite ugly.  I expected
to be able to use b4_token_define([-2]) here but that produces an
error.  Someone more familiar with bison's m4 macros can probably
come up with a much better fix.

 - todd

Index: data/skeletons/c.m4
--- data/skeletons/c.m4.orig
+++ data/skeletons/c.m4
@@ -510,6 +510,7 @@ m4_define([b4_token_define],
 # Output the definition of the tokens.
 m4_define([b4_token_defines],
 [b4_any_token_visible_if([/* Token kinds.  */
+#define ]b4_symbol([-2], [id])[ -2
 m4_join([
 ], b4_symbol_map([b4_token_define]))
 ])])

Reply via email to