【发布时间】:2013-02-27 16:41:26
【问题描述】:
假设我有一个如下表达式(其中⨁ 和⨂ 是具有相同优先级但关联性不同的二元运算符):
x ⨁ y ⨂ z
y 是否属于⨁ 或⨂,基于什么标准?
【问题讨论】:
-
你应该在 Haskell 中试试这个。
-
@MattFenwick - 我知道在 Haskell 中具有相同优先级和不同关联性的唯一运算符是
>>=运算符 (infixl 1) 和=<<运算符 (infixr 1) .我一有机会就会对其进行测试,但在 Haskell 中的所有概率类型推理规则都将胜过关联性,从而导致表达式被明确地评估,而无需使用分流场算法中指定的 Edsgar Dijkstra 规则。
标签: parsing evaluation operator-precedence associativity disambiguation