【发布时间】:2012-11-25 18:05:04
【问题描述】:
我对 Bison 中的运算符优先级和关联性有疑问。
在每个示例中,我看到的作品都类似于expr 'op' expr,例如:http://dinosaur.compilertools.net/bison/bison_8.html
但如果我使用 bison %left 和其他关联工具,我会使用如下语法:
expr| expr binop expr
| expr relop expr
| expr logical_op expr
和
binop: '+'
| '-'
| '*'
| '/'
;
relop: EE
| NE
| LE
| '<'
| GE
| '>'
;
logical_op: AND
| OR
;
是否会使用关联性和优先级规则?
或者我需要为每个操作员写明确的expr 'op' expr?
我在问,因为当我尝试使用我发布的语法时,我会收到有关冲突的警告。
但是当我手动编写像 expr '+' expr 这样的作品时,我没有收到任何警告。
【问题讨论】: