M4“没有这样的文件或目录”.Bison

时间:2013-05-08 13:53:43

标签: parsing bison yacc

这是我在文件skener.y中的代码

 %{
#include <stdio.h>
%}
%token T_Int
%%

exp:      T_Int           { $$ = $1;         }
| exp exp '+'     { $$ = $1 + $2;    }
| exp exp '-'     { $$ = $1 - $2;    }
| exp exp '*'     { $$ = $1 * $2;    }
| exp exp '/'     { $$ = $1 / $2;    }

;
%%

当我使用命令“bison -d skener.y”编译它时,我收到错误“m4:没有这样的文件或目录。”。当然,在提示符下键入命令时,我位于工作文件夹中。我不知道它是什么?

5 个答案:

答案 0 :(得分:4)

bison.exe文件中似乎有一些错误。 我将其替换为此zip文件中的一个。 http://marin.jb.free.fr/bison/bison-2.4.1-modified.zip

来源:http://marin.jb.free.fr/bison/

答案 1 :(得分:1)

我在Windows 7 PC上通过他们的Setup.exe安装了GnuWin32 version of bison时出现了同样的错误。解决方案是将...\GnuWin32\bin目录添加到我的PATH中。 (有趣的是,这是很多人在第一次使用时遇到问题的第一个工具)

答案 2 :(得分:1)

路径中任何文件夹的名称中都不应有空格。就我而言,我将其保存在C:/ Program Files / GnuWin32 / bin中,并导致了错误。然后,我将文件夹从“程序文件”中移出,并放置为C:/ GnuWin32 / bin,它开始正常工作。

答案 3 :(得分:0)

这意味着您没有正确安装野牛 - 您有可执行文件,但它缺少其支持文件。

返回并重新安装野牛。

答案 4 :(得分:0)

对于我来说,我是按照 jfritz42 答案解决的,但是还必须向我的系统环境变量中添加

...\MinGW\bin
路径...

< / p>

让我的案例的屏幕截图对您有所帮助:)

Step 1

Step 2

Step 3