所以我在野牛中遇到类型冲突,形式为
warning: type clash on default action: <stmt> != <expr>
因为我有像
这样的作品%type <stmt> Stmt
%type <expr> Expr
...
Stmt : Expr /* empty */
| Otherstuff {do other stuff.....}
;
我想知道是否有办法摆脱这些错误,因为Expr是Stmt的子类(我正在使用c ++),但是有额外的功能所以只需放入
%type <stmt> Stmt Expr
不起作用。有什么想法吗?
答案 0 :(得分:3)
简单的方法是:
Stmt : Expr {$$ = $1;} // This is the same as default action