Bison is the GNU version of the venerable compiler generator YACC. It is available for Windows as part of the gnuwin32 port. However, when you run it, you might get this warning: bison: /usr/local/share/bison.simple: No such file or directory This is the default location for Bison to look for its skeleton parser code bison.simple, but such a directory obviously doesn't exist on Windows machines (unless you run Bison inside Cygwin, but that's a different story). To make it work, you should set the BISON_SIMPLE environment variable to your copy of bison.simple Here is an example from a makefile:

YACC = bison -d

calc_parser: calc.y
    set BISON_SIMPLE=../bison.simple
    $(YACC) -o calc.tab.c calc.y