2
Q
消歧
A
回答
1
根據Edsgar Dijkstra的Shunting-yard algorithm如果表達式中的相鄰兩個運算符具有相同的優先級,則基於第二個運算符的關聯性對錶達式進行消歧。
- 如果第二個運算符是關聯的,則操作數屬於第一個運算符。
- 如果第二個操作符是正確關聯的,則操作數屬於第二個操作符。
案例1:⨂
是左結合的。該表達式評估爲:
(x ⨁ y) ⨂ z
情況2:⨂
是右結合。表達式評估爲:
x ⨁ (y ⨂ z)
+1
是的,我認爲這個人是對的。 – 2013-03-14 12:27:05
相關問題
- 1. 人名消歧
- 2. 模板歧義消除器
- 3. Active Directory PrincipalContext.ValidateCredentials域消歧
- 4. 野牛/ yacc語法消歧
- 5. 從語法中消除歧義
- 6. 維基百科消歧錯誤
- 7. 使用維基百科消歧
- 8. 字消歧算法(Lesk算法)
- 9. sentiwordnet python中的詞義消歧
- 10. 作者姓名消歧數據
- 11. 利用ANTLR 4的左遞歸消歧
- 12. 如何解決Yago/DBpedia中的消歧?
- 13. Web服務投稿ID消歧
- 14. NLTK中的詞義消歧蟒Python
- 15. 爲實體消歧亞戈本體
- 16. 歧義
- 17. 歧義參考
- 18. ANTLR歧義
- 19. 解決歧義
- 20. 的LockService歧義
- 21. 歧義錯誤?
- 22. ANTLR歧義「 - 」
- 23. 歧義參考
- 24. pyparsing歧義
- 25. 多AdminMiddleware歧義
- 26. 歧義行爲
- 27. ContextFreeGrammar歧義
- 28. 歧義語法?
- 29. 在SQL Server空間或OpenLayers中消除重疊行的歧義?
- 30. C++ 11:消除歧義類成員在多重繼承
你應該在Haskell中試試這個。 – 2013-07-12 03:04:57
@MattFenwick - 我在Haskell中知道的具有相同優先級和不同關聯性的唯一運算符是'>> ='運算符('infixl 1')和'= <<'運算符('infixr 1')。我會盡快對它進行測試,但Haskell中的所有概率類型推理規則都會勝過關聯性,導致表達式被明確地評估,而不需要在調車碼算法中指定的Edsgar Dijkstra規則。 – 2013-07-12 03:30:12