我需要從haskell(不是方法唯一函數)的C++頭文件中獲取所有函數,我需要輸入參數和返回類型也是方法名稱。如何使用haskell從C++頭文件中提取函數?
我怎麼能意識到這一點? olny與正則表達式?或者我必須編寫一個完整的解析器(自下而上或自上而下)?
我需要從haskell(不是方法唯一函數)的C++頭文件中獲取所有函數,我需要輸入參數和返回類型也是方法名稱。如何使用haskell從C++頭文件中提取函數?
我怎麼能意識到這一點? olny與正則表達式?或者我必須編寫一個完整的解析器(自下而上或自上而下)?
要從頭文件中提取所有函數聲明,您需要一個解析器,而不是正則表達式。對於C解析器++是很難得的,但幸運的是我們有一些:
無論使用的這些,你會能夠強大地處理C或C++頭文件,並將聲明提取爲Haskell數據類型,以供進一步處理。
如果您決定解析它們,我建議您使用Parsec並嘗試查看是否有其他人已經完成了它。
但是,有很多C++解析器已經在那裏 - 我建議您使用其中之一併與其輸出接口。
您是在編寫一個解析頭文件的工具,或者您是否嘗試從Haskell生成綁定到這些函數(例如,使用c2hs的FFI綁定)? – 2011-05-09 18:33:52
爲什麼需要用Haskell完成? – 2011-05-09 18:33:59