2010-11-12 59 views
0

任何語法都可以通過運算符優先級解析來實現嗎?我可以將任何語法轉換爲運算符優先級語法嗎?

+2

..........什麼? – 2010-11-12 14:26:12

+1

這聽起來像作業,因爲如果你真的對此感興趣,你會知道答案。 – 2010-11-12 14:28:53

+2

你問你是否可以更改運算符優先級?我越讀「你的問題」越多,我的內部語法分析器就像一個不想要的繼子女一樣被毆打。 – 2010-11-12 14:29:27

回答

2

如果您問是否可以通過語法更改語言的運算符優先級,那麼答案是:是的,當然。

如果您問是否可以使用Pratt的自頂向下運算符解析方法來解析「典型」上下文無關文法,那麼答案是否定的。 但是你可以混合兩者。一篇關於Pratt解析的好文章,應該給你一些關於將它應用到遞歸下降解析器的信息:http://effbot.org/zone/simple-top-down-parsing.htm

1

這是一個很好的問題,答案是:是的。它看起來像 在第四章Hopfroft & Ullman 關於可計算性和形式語言的文本中出現了一個雙星問題(#4.21)。還提供了答案(建築總結證明 )。 簡而言之,它假定預轉換爲簡化GNF,從中執行最終的 構造以移除相鄰的非終端。不是最有效的建築,但它有效(如果你可以按照類似的處理 轉換到CNF和GNF較早)。 希望這有助於!