我即將開始開發一個應用程序的子組件,用C++對象的操作數來評估數學函數。這將通過用戶界面訪問,以提供拖放操作,反饋適當的類型,然後是執行按鈕。解析自定義類型的數學函數
我對使用flex和bison非常感興趣,因爲它曾經在這裏和更遠的地方看過方程解析等。我不確定的是,如果在嘗試使用自定義C++類型進行解析時,flex/bison是否合適?顯然,正常的解析是與文本,這是非常不同的想法,因此也想看看人們的想法,看看我是否試圖把一個方形釘在圓孔。
您認爲如何?
編輯
有信息的人在下面提供的鏈接了一些非常好的來源。 Boost.Spirit是一款看起來很有前途但尚未提及的遊戲。我正在看看雖然今天早些時候的例子,並且在boost/libs/spirit/examples目錄中有一些基於計算器的例子,如果你有提升下載和感興趣的話。他們的主頁是here。
如果您試圖解析描述數學函數的文本,將它們轉換爲使用自定義C++類型的一些表示,那麼這正是flex/bison設計的目的。但是你說你正在做的事情不涉及文本,所以我不確定解析是在哪裏進行的。 – 2010-02-22 19:47:19
感謝您的評論。 UI將包含一些文本,因爲用戶可以輸入類型的「方程」,類似於Excel函數對話框。這是對該輸入的解析,以及對我認爲flex/bison可能有用的真正C++對象的後續轉換/操作。 – acju 2010-02-22 20:58:47