是否可以创建一个语法,该语法具有多个具有相同优先级但具有不同关联性的运算符的规则?
例如" +"和" - "两者具有相同的优先级和关联性(左联想。)
但如果我想改变" +"为了正确联想但具有相同的优先权我该怎么做?
我试过了:
expr: expr op=('*'|'/') expr # MulDiv
| expr op=(<assoc=right>'+'|'-') expr # AddSub
| INT # int
| ID # id
| '(' expr ')' # parens
;
和@LucasTrzesniewski。仍然不起作用你的建议
addSubOp: <assoc=right>'+'| <assoc=lefts>'-';
expr: expr op=('*'|'/') expr # MulDiv
| expr addSubOp expr # AddSub
| INT # int
| ID # id
| '(' expr ')' # parens
;
但没有成功。