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

Windows 7 如何在Windows环境下使用Bison编译yacc(.y)文件?,windows-7,bison,lex,Windows 7,Bison,Lex,我读过。但是按照这些指令,我不能使用bison 如何在windows 7中编译文件 请帮助我完成此操作。在Windows PowerShell中使用这些Unix命令可能会起作用,但我不确定,而且我当前不在Windows上,因此无法检查它 如果失败,您可以尝试安装(Windows中的基本Linux环境)。您必须在安装过程中选择bison包。它有自己的外壳,你可以使用 实际上,在Windows下编程时,我个人最喜欢的是使用设置虚拟机。这样,您就可以在不离开Windows的情况下使用真正的Linux环

我读过。但是按照这些指令,我不能使用
bison

如何在windows 7中编译文件


请帮助我完成此操作。

在Windows PowerShell中使用这些Unix命令可能会起作用,但我不确定,而且我当前不在Windows上,因此无法检查它

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

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


祝你好运

在Windows PowerShell中使用这些Unix命令可能会起作用,但我不确定,而且我目前不在Windows上,因此无法检查它

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

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


祝你好运

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

flex lang.l
bison lang.y
gcc -o lang.exe lang.tab.c -lfl
如@DavidHefferman所示,无需安装MinGW、Cygwin或使用Powershell或VM或使用linux


如果你还是做不好,我甚至有一个

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

flex lang.l
bison lang.y
gcc -o lang.exe lang.tab.c -lfl
如@DavidHefferman所示,无需安装MinGW、Cygwin或使用Powershell或VM或使用linux


如果你还是做不好,我甚至有一个

你知道它是如何失败的吗?很难说你的问题出在这里。@David:事实上,我对野牛世界还不熟悉。我不知道编译
.y
文件的命令。我认为这些评论是针对Unix环境的。我从[]下载了bison.exe。你从正确的地方得到了bison.exe。那么怎么了?@David:我试着用
bison-d-o a.c a.y
编译
.y
文件。它不生成任何文件(
a.c
),只是在
命令提示符中显示解析后的文件。如何生成a.c
a.c
文件。您有关于失败原因的详细信息吗?很难说你的问题出在这里。@David:事实上,我对野牛世界还不熟悉。我不知道编译
.y
文件的命令。我认为这些评论是针对Unix环境的。我从[]下载了bison.exe。你从正确的地方得到了bison.exe。那么怎么了?@David:我试着用
bison-d-o a.c a.y
编译
.y
文件。它不生成任何文件(
a.c
),只是在
命令提示符中显示解析后的文件。如何生成
a.c
文件。绝对不需要PowerShell、Cygwin、VM等。绝对不需要PowerShell、Cygwin、VM等。