任何人都可以爲我推薦一種有用的編程語言,它可以用來創建一個工具來分析給定的C程序並生成一個txt報告或包含有關信息的html報告給定的程序(函數列表,變量列表等)。 我打算構建的程序與doxygen類似,但我希望它可以供我個人使用。哪種語言對創建有效C程序的報告有用
回答
Python和Perl都具有出色的字符串處理能力。
我建議使用類似ctags的東西來解析程序,並創建一個腳本來讀取ctags文件並在txt/html中輸出。
ctags使用的文件格式已定義好,以便其他程序可以讀取它。有關ctags本身及其使用的文件的更多信息,請參閱http://ctags.sourceforge.net。
研究腳本語言。我會推薦Python或Perl。
ctags,也許?
C標籤生成源文件,使這些項目是通過文本編輯器或其他實用程序快速,輕鬆地找到位於語言對象的索引(或標籤)文件。標記表示可用索引條目的語言對象(或者,爲該對象創建的索引條目)。
如果它是你想要的編程語言,那麼我會說一些已知的字符串處理能力,這將意味着perl。
然而,由於您需要'知道'語言,因此您需要的任務可能相當複雜,因此您需要遵循編譯器所做的相同步驟,對語言進行詞彙和語法分析(think flex,think yacc ),以便真正「知道」這些字符串的含義。
也許最好的出發點是爲了看一看的doxygen並嘗試重新使用盡可能多的方面所做的工作儘可能工作
Haskell有一個相對較新的C語言的項目http://www.sivity.net/projects/language.c允許的C代碼的分析。
如果您熟悉Haskell,那麼可能值得一看。即使你不這樣做,也許會有趣。
你打開蠕蟲的大罐,這不是一個有效的利用你的時間,等等等等等等等等
移動到一個答案,如果你談論的是超越平凡的事情分析和你需要的準確性,你將需要解析C源代碼。你可以用任何語言來做到這一點,但你幾乎肯定希望從高級語法中生成解析器。有任何數量的工具。一個現代和特別強大的解析器生成器是ANTLR; C語言有許多ANTLR語法,其中包括易於使用的子集。
Lex/yacc適用於構建解析器。
pycparser是用純Python編寫的ANSI C89/C90的完整解析器。它被廣泛用於分析C源代碼以滿足各種需求。它帶有一些示例代碼,例如列出文件中的所有函數定義等。
- 1. 使用哪種語言來創建此桌面應用程序?
- 2. 如何創建多語言報告?
- 3. 哪種編程語言對讀取.DOC文件有用? (Java,C++,C#...)
- 4. 本程序使用哪種語言?
- 5. 哪種編程語言對生物靜力學有用?
- 6. 創建圖表 - 哪種語言?
- 7. 多種語言的UWP應用程序 - 檢查所有語言
- 8. 用C語言創建一個多語言應用程序#
- 9. 多種文化語言的SSRS報告
- 10. 建築報告列有效?
- 11. 使用哪種語言的建議
- 12. 哪些語言沒有回報
- 13. 所有語言 - 程序效率
- 14. 需要創建新編程語言的問題有哪些?
- 15. ACRA沒有創建報告
- 16. SSRS報告沒有創建
- 17. C# - 創建報告
- 18. SSRS報告語言
- 19. 多語言報告
- 20. 使用多種語言創建Android應用程序
- 21. c#中的多語言數據報告
- 22. Photoshop - 有沒有一種編程語言?
- 23. 可以使用哪些語言來創建Android應用程序?
- 24. C語言創建
- 25. 用C#創建編程語言
- 26. 用戶有3種語言
- 27. Heroku使用哪種編程語言?
- 28. 沒有有效的報告源可用 - 水晶報告
- 29. 序言沒有打印報告
- 30. bosun使用哪種語言?