我正在研究GCCXML,它可以解析給定的頭文件並生成C代碼元數據的XML格式。但是GCCxml是一個開源的。有沒有商業版本的C代碼解析器,其工作方式與GCC XML相似?GCC Xml Alternatives
感謝, Karthick
我正在研究GCCXML,它可以解析給定的頭文件並生成C代碼元數據的XML格式。但是GCCxml是一個開源的。有沒有商業版本的C代碼解析器,其工作方式與GCC XML相似?GCC Xml Alternatives
感謝, Karthick
爲gccxml明顯的替代將鐺,這是在BSD授權(這樣你就可以自由地使用它的商業項目,做任何你想用代碼等)。鏗鏘曾經有一個內置的xml AST自卸車,但它在某個階段被刪除。如果你只需要提取特定的信息(比如IDL生成的函數原型或類似的東西),編寫一個基本的自定義clang插件就不難了。否則,您可以搜索周圍的現有鐺插件,它會做的工作,比如這一個:
看到我們DMS Software Reengineering Toolkit與同等/超其C Front End的GCCXML。
C前端可以處理各種C語言(ANSI,GCC,MS)。它包含一個完整的預處理器。它可以以XML格式導出完整語言的AST(特別是包含函數體,GCCXML不做,IIRC)及其符號表。
這裏在SO有example dump of the AST from DMS's C++ front end。這與C前端使用的機器相同。
謝謝Oakad。我會在今天或明天探索上述鏈接,並讓你知道我所帶的東西。 – K2M
看起來很有前途。我花了一天時間來弄清楚什麼是Clang,並能夠下載源代碼並執行一些Python腳本示例。但它是一次性努力。它真的是一個偉大的工具,這個教程真的幫助我[http://eli.thegreenplace.net/2011/07/03/parsing-c-in-python-with-clang/] – K2M