Recursion 如何除掉野牛

Recursion 如何除掉野牛,recursion,bison,yacc,Recursion,Bison,Yacc,在yacc中写这句话时,我有两个移位: %% %token blablabla %% expresion: expresion + expresion { ; } |/*lambda*/ ; 有人知道如何删除警告吗?我查看了此链接,但发现bison错误,无法使用您可以使用 %left '+' 告诉YACC如何解决轮班,减少冲突。这是最好的办法 你可以通过使用不同的术语来明确语法 expression = lower_expression + expression ;

在yacc中写这句话时,我有两个移位:

%%
%token blablabla
%%

expresion: expresion + expresion { ; }
         |/*lambda*/
;
有人知道如何删除警告吗?我查看了此链接,但发现bison错误,无法使用

您可以使用

 %left '+'
告诉YACC如何解决轮班,减少冲突。这是最好的办法

你可以通过使用不同的术语来明确语法

expression = lower_expression + expression ;
当有许多运算符和不同的优先级时,该方法会变得单调乏味