Say I have an expression as follows (where ⨁
and ⨂
are binary operators which have the same precedence level but not the same associativity):
x ⨁ y ⨂ z
Would y
belong to ⨁
or ⨂
, and based on what criteria?
Say I have an expression as follows (where ⨁
and ⨂
are binary operators which have the same precedence level but not the same associativity):
x ⨁ y ⨂ z
Would y
belong to ⨁
or ⨂
, and based on what criteria?
According to the Edsgar Dijkstra's Shunting-yard algorithm if neighboring two operators in an expressions have the same precedence level then the expression is disambiguated based on the associativity of the second operator.
Case 1:
⨂
is left associative. The expression evaluates to:Case 2:
⨂
is right associative. The expression evaluates to: