野牛优先没有用吗?它不起作用

inaumov17

我已经宣布了以下优先事项bison

    %left '+' '-'
    %left '*' '/'

算术的递归规则:

exp:       exp binary_op exp { .. }
           | literal_exp     { .. }
           | ID              { .. }

binary_op: '+'               { .. }
           | '-'             { .. }
           | '*'             { .. }
           | '/'             { .. }

我有一个算术表达式: 10 * 3 + 5

我的程序计算得出的总和为80!我仍然不知道为什么优先级不起作用。

彼得·德里瓦兹

如果您定义这样的表达式,它将起作用:

exp:       exp '+' exp       { .. }
           exp '-' exp       { .. }
           exp '*' exp       { .. }
           exp '/' exp       { .. }
           | literal_exp     { .. }
           | ID              { .. }

仅当运算符在规则中作为终端出现时,优先级才有效。

请参阅有关优先级如何工作的文档

每个规则都从组件中提到的最后一个终端符号获得优先权

您的exp规则没有终端,因此没有优先级。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C ++:“ this”指针没有用吗?

来自分类Dev

FILTER_SANITIZE_URL没有用吗?

来自分类Dev

Android Volley-Request.setSequence没有用吗?

来自分类Dev

Python-sendto()的返回值没有用吗?

来自分类Dev

FILTER_SANITIZE_URL没有用吗?

来自分类Dev

我想从html中使用jquery排除某些类,例如$('html')。not('。classname'),但这没有用吗?

来自分类Dev

原子分组的交替是没有用的吗?

来自分类Dev

没有用python写入文件吗?

来自分类Dev

.cpp文件有用吗?

来自分类Dev

Map.containsKey()在没有空值的Map中有用吗?

来自分类Dev

没有任何前端框架,Laravel Mix.extract仍然有用吗?

来自分类Dev

将DTO模式与某些缓存或MVVM结合使用时,它不是仅有用吗?

来自分类Dev

Scala的期货真的有用吗?

来自分类Dev

$ watch在这里有用吗?

来自分类Dev

Observable.Interval对高频事件有用吗?

来自分类Dev

代码混淆在javascript中真的有用吗?

来自分类Dev

嵌套的Using语句有用吗?

来自分类Dev

仍然对modernizr.js有用吗?

来自分类Dev

不受范围限制的枚举仍然有用吗?

来自分类Dev

Greenlets本身真的有用吗?

来自分类Dev

uplus功能有用吗?

来自分类Dev

Winsock中的QoS API有用吗?

来自分类Dev

混淆代码后,PDB文件有用吗?

来自分类Dev

重复在数据集中有用吗?

来自分类Dev

如今window.open()仍然有用吗?

来自分类Dev

动态url变量对PHP有用吗?

来自分类Dev

使用Virtualbox进行游戏,对您有用吗?

来自分类Dev

ACPI在服务器上有用吗?

来自分类Dev

主键上的独特选择有用吗?