如何在Windows环境中使用Bison编译yacc(.y)文件?

时间:2011-03-29 08:47:03

标签: windows-7 bison lex

我看过http://dinosaur.compilertools.net/bison/bison_5.html#SEC25。但遵循这些指令我无法使用bison

编译我的yacc文件

如何在Windows 7中编译我的文件??

请帮我这样做。

2 个答案:

答案 0 :(得分:0)

在Windows PowerShell 中使用这些Unix命令可能工作,但我不确定,我目前不在Windows上,所以我无法检查它。

如果失败,您可以尝试安装Cygwin(Windows中的基本Linux环境)。您必须在安装期间选择bison包。它有自己的外壳,你可以使用。

实际上,在Windows下编程时,我个人最喜欢的是使用VirtualBox设置虚拟机。这样你就可以使用真正的Linux环境,而无需真正离开Windows。

祝你好运!

答案 1 :(得分:0)

有一个常见的原因导致bison无法在Windows上正常运行,并且在安装说明中提到但经常被忽略。重要的是,(路径)中安装bison(和flex)的目录的位置名称不包含空格。特别是这意味着它不能置于C:\Program Files\之下。问题是该目录可能会被建议作为默认安装位置。有时需要手动将默认值更改为其他内容(如C:\GnuWin\或类似内容)。通常还需要手动将适当的目录添加到PATH环境变量中。完成此操作后,从命令提示符运行bison和flex应该没有问题。它通常以下列方式使用:

flex lang.l
bison lang.y
gcc -o lang.exe lang.tab.c -lfl

没有必要安装MinGW,Cygwin或使用Powershell或VM或使用Linux,如@DavidHefferman所示

如果你仍然无法做到,我甚至有instructional video