I am running into an interesting problem on Windows with Bison 2.1.  My grammar 
defines the word IN as a token.  When I build on Windows, there is a file which 
includes the generated gram.h after including Microsoft's header WinDef.h.  I'm 
using Visual Studio .NET 2003.  Unfortunately, that header defines "IN":

#define IN

So, when compiling, the inclusion of gram.h gets an error due to the enum 
yytokentype which ends up getting the line for IN messed up during 
preprocessing:

...
 = 250,
INTEGER = 251,
...

I can undefine "IN" before the inclusion of gram.h which works, but is a bit 
hacky.  I tried defining YYTOKENTYPE in the compile line (the enum is 
conditionalized with YYTOKENTYPE), but I got a link error when doing so.  Any 
idea why defining YYTOKENTYPE in the compile line causes this problem?  It sure 
looks like it's there for this reason.

Many thanks,
Mary Ann


_______________________________________________
help-bison@gnu.org http://lists.gnu.org/mailman/listinfo/help-bison

Reply via email to