Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bison错误:m4子进程失败_Bison - Fatal编程技术网

Bison错误:m4子进程失败

Bison错误:m4子进程失败,bison,Bison,我正在尝试分析语法,但出现以下错误: bison -t -vd brest.y brest.y: warning: 52 shift/reduce conflicts [-Wconflicts-sr] brest.y: warning: 76 reduce/reduce conflicts [-Wconflicts-rr] brest.y:167.105-121: warning: rule useless in parser due to conflicts [- Wother]

我正在尝试分析语法,但出现以下错误:

bison -t  -vd brest.y
brest.y: warning: 52 shift/reduce conflicts [-Wconflicts-sr]
brest.y: warning: 76 reduce/reduce conflicts [-Wconflicts-rr]
brest.y:167.105-121: warning: rule useless in parser due to conflicts [-     Wother]
        /*nil*/                                 {   $$=NULL;}
                                                                                                          ^^^^^^^^^^^^^^^^^
**bison: m4 subprocess failed**
警告中涉及的语法有:

activity:   
        /*nil*/                                     {   $$=NULL;}
    |   resource activity                               {       $$=concatQuadruple(getQuadrupleResource($1),$2);}
    |   var_declaration activity                        {   $$=concatQuadruple(getQuadrupleVarDeclaration($1),$2);}
    |   invoke activity                                 {   $$=concatQuadruple($1,$2);}
    |   ASSIGN assignment ASSIGN_ activity              {   $$=concatQuadruple($2,$4);}
    |   respond                                         {   $$=getQuadrupleRespond($1);}
;
我安装了以下版本的bison和m4:

bison-3.0.2-3.fc21.x86_64

m4-1.4.17-6.fc21.x86_64


有什么想法吗?

我发现解决方案:/bin/m4是随yum一起安装的,出于任何原因,我不知道它的大小为0字节。这可能是存储库中的一个bug,我修复了从GNU网站下载并编译它的问题

我发现解决方案:/bin/m4是随yum一起安装的,出于任何原因,我不知道它的大小为0字节。这可能是存储库中的一个bug,我修复了从GNU网站下载并编译它的问题

这个问题已经问了5年了,但我现在遇到了这个问题,所以我认为我的解决方案会很有用,因为它是google中唯一一个有这个问题的线程。 我在windows上运行bison(使用cygwin从源代码处编译),遇到了相同的问题:

bison错误:“/usr/local/share/bison/m4sugar/m4sugar.m4”:没有这样的文件或目录

bison错误:m4子进程失败

我的解决方案是在运行bison命令之前设置两个变量:

设置BISON_PKGDATADIR=[Home Dir]/usr/local/share/BISON

设置M4=M4


在我的例子中,[Home Dir]是D:/files/Cygwin。还要确保在windows中添加Path环境变量来运行bison&m4:Path=[Home Dir]/bin这个问题已经有5年了,但我现在遇到了这个问题,所以我认为我的解决方案会很有用,因为它是google中唯一一个有这个问题的线程。 我在windows上运行bison(使用cygwin从源代码处编译),遇到了相同的问题:

bison错误:“/usr/local/share/bison/m4sugar/m4sugar.m4”:没有这样的文件或目录

bison错误:m4子进程失败

我的解决方案是在运行bison命令之前设置两个变量:

设置BISON_PKGDATADIR=[Home Dir]/usr/local/share/BISON

设置M4=M4


在我的例子中,[Home Dir]是D:/files/Cygwin。还要确保在windows中添加Path环境变量以运行bison&m4:Path=[Home Dir]/bin

我想您在文件
brest.y
中有问题,可以添加吗?我想您在文件
brest.y
中有问题,可以添加吗?您如何发现需要设置这些变量?我找不到任何关于他们的文档…@Alexey在论坛上进行了大量的谷歌搜索和搜索。我不记得确切的位置了,你是如何发现你需要设置这些变量的?我找不到任何关于他们的文档…@Alexey在论坛上进行了大量的谷歌搜索和搜索。我不记得具体在哪里了