7

这是我在文件 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:没有这样的文件或目录。”。当然,在提示符下键入命令时,我位于工作文件夹中。我不知道它是关于什么的?

4

6 回答 6

7

bison.exe 文件中似乎有一些错误。我用这个 zip 文件中的那个替换了它。 http://marin.jb.free.fr/bison/bison-2.4.1-modified.zip

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

于 2013-12-01T14:59:49.860 回答
3

路径中任何文件夹的名称中都不应有空格。就我而言,我将它保存在 C:/Program Files/GnuWin32/bin 中,它导致了错误。然后我将文件夹从 Program Files 中移出并放置为 C:/GnuWin32/bin,它开始运行良好。

于 2019-12-05T18:19:07.267 回答
2

当我通过他们的 Setup.exe 在我的 Windows 7 PC 上安装GnuWin32 版本的野牛时,我遇到了同样的错误。解决方案是将...\GnuWin32\bin目录添加到我的 PATH 中。(有趣的是,这是许多不在我的 PATH 中时出现问题的工具中的第一个)

于 2013-06-24T20:10:06.243 回答
1

就我而言,我按照jfritz42答案解决了它,但必须添加

...\MinGW\bin
我的系统环境变量的路径...

截图我的案例,希望对你有帮助:)

步骤1

第2步

第 3 步

于 2019-09-08T14:35:46.133 回答
0

这意味着你没有正确安装野牛——你有一个可执行文件,但它缺少它的支持文件。

返回并重新安装野牛。

于 2013-05-08T15:34:15.533 回答
0

什么对我有用:将文件夹从 C:\Program Files(x86)\GnuWin32 移动到 C:\GnuWin32 然后,将 PATH 值添加到用户变量和系统变量中:C:\GnuWin32\bin

于 2022-02-10T17:37:50.523 回答