help-bison
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Interesting problem with bison on Windows


From: Hans Aberg
Subject: Re: Interesting problem with bison on Windows
Date: Fri, 19 Oct 2007 10:50:54 +0200


On 19 Oct 2007, at 00:42, address@hidden wrote:

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.

You might try #undef IN after the inclusion of your header that defines it. If you need the name, you might try #define INFOOBAR IN before the #undef.

Otherwise, it is a problem of that header; get those who wrote it to fix it.

  Hans Aberg






reply via email to

[Prev in Thread] Current Thread [Next in Thread]