我正在編寫一個非常接近僞代碼的實驗性語言,以獲取更多有關C++的知識。其中一個問題是我需要解析一些語法,而我的搜索找到一個好的C++語法分析器卻不成功(我找不到任何東西)。我想做到的是:C++有沒有語法分析器(類似於python的yapps)?
set a to 4
而且我想解析器返回一個包含到類似的地圖:基於一組規則我給它
command = "set"
var = "a"
value = 4
。
如果我沒有發現任何有用的東西,我最終將不得不推出自己的產品,但是我想盡可能地防止重新發明輪子。
那麼,有沒有人知道生成C++代碼的良好/理智語法分析器?如果廣泛使用它會好得多。
謝謝!
是的遞歸下降可以很容易地手工製作,但爲了讓它變好則是另一種情況。使用ANTLR之類的功能可以快速進行更改並檢測語法中的不一致,然後將其轉換爲手工解析器以獲得速度和良好的調試消息,這非常有用。 – Unknown 2009-04-27 19:20:23