浏览代码

Fix left priority for substraction

Fix a shift/reduce problems caused by EXPR token
DricomDragon 5 年之前
父节点
当前提交
0340613d5d
共有 1 个文件被更改,包括 3 次插入3 次删除
  1. 3 3
      eval.y

+ 3 - 3
eval.y

@@ -29,9 +29,9 @@ EXPR_CALCS	: EXPR_CALC
 EXPR_CALC	: EXPR '=' 	{ printf("%d\n", $1); }
 		;
 
-EXPR	: EXPR '+' EXPR		{$$ = $1 + $3;}
-	| EXPR '-' EXPR		{$$ = $1 - $3;}
-	| FACTOR
+EXPR	: EXPR '+' FACTOR	{$$ = $1 + $3;}
+	| EXPR '-' FACTOR	{$$ = $1 - $3;}
+        | FACTOR
 	;
 
 FACTOR	: number		{$$ = $1;}