我嘗試做我的工作,即「分析Java應用程序中的源代碼」,其中分析未編譯的.java或.txt文件。
我創建了this主題,在那裏我瞭解到我走錯了路。據我所知,我認爲處理ANTLR或JavaCC的最佳方式,但我無法弄清楚它是如何工作的以及如何使用它(JavaCC我無法打開)。我想找到一些可以在我使用的Netbeans中編程「古典」的東西。
是否有可能使用java.lang.reflect(在我的主題中有人寫道它只能在編譯代碼中使用)?有沒有一種方法可以在沒有任何「補充」或僅使用Java庫的情況下編寫所有這些內容?
感謝您提供寶貴意見。我很困惑,不知道如何開始。
1.選擇主語言分析器
2.構建掃描器(詞法分析器)
3.構建語法分析器(語法分析器)
4.保存獲取的信息XML形式,
5.分析項目的UML圖形表示。
主要目標是創建UML,XML是一個附加。什麼是分析代碼來創建UML的最佳方式?
1
A
回答
0
從廣義上講,你有兩種選擇。
如果你想使用源代碼,你必須構建一些能夠解釋這些文件的東西,並在它們中形成一個編程結構的模型。這是不平凡的 - 你基本上構建了一個編譯器的重要子集,你必須處理很多內務處理的東西 - 加載文件,處理對.jar文件的引用等,並處理代碼可能的事實沒有實際編譯。如果你選擇這條路線,你最好的選擇是ANTLR;去讀維基和書籍,並卡住。
另一種方法是使用編譯文件 - 罐子等 - 你可以使用反射工具來解釋代碼。這簡化了事情 - 至少你知道代碼編譯,而其他人已經做了很多內務。這仍然不是微不足道的。
+0
好的,我明白了。你認爲更簡單的方法是什麼?如果我決定採用反射工具,那麼在分析之前很難編譯加載的文件(並準備好)?感謝您的幫助。 – avalagne 2012-04-21 11:59:44
1
更簡單的解決方案是獲取支持導入Java源代碼併爲您生成圖表的UML工具。
你的方式充滿了困難。你被困在輸入端,但你還沒有考慮圖形方面。即使您成功地確定如何創建抽象語法樹,繪製圖表也不容易。
0
topcased可能對你有用, HTH
相關問題
- 1. 什麼是分離此代碼的關注的最佳方式?
- 2. 跨服務器分發代碼的最佳方式是什麼?
- 3. 構建這類代碼的最佳方式是什麼?
- 4. 常規代碼分析的最佳插件是什麼?
- 5. 什麼是編碼/保護JavaScript代碼的最佳方式?
- 6. 分析Feed時,本地保存的最佳方式是什麼?
- 7. 什麼是分析圖像顏色(Java)的最佳方式?
- 8. R中基準(性能分析)的最佳方式是什麼?
- 9. 什麼是分析項目風險的最佳方式?
- 10. 什麼是分析出CDATA XML標籤內的最佳方式
- 11. 爲DOM的一部分創建樣式重置的最佳方式是什麼?
- 12. 寫這樣的重複代碼的最佳方式是什麼?
- 13. CakePHP - 創建管理部分的最佳方法是什麼
- 14. 在mysql中存儲html代碼的最佳方式是什麼?
- 15. 延遲代碼執行的最佳方式是什麼?
- 16. 今天維持clipper 5.3代碼的最佳方式是什麼?
- 17. 什麼是避免這種重複代碼的最佳方式
- 18. 爲Python打包C代碼的最佳方式是什麼?
- 19. 從代碼中調用IBAction的最佳方式是什麼?
- 20. 記錄f#代碼的最佳方式是什麼?
- 21. 什麼是編輯代碼的最佳協作方式? (實時)
- 22. 在Eclipse中調試android代碼的最佳方式是什麼?
- 23. 什麼是測試GWT代碼的最佳方式
- 24. 什麼是記錄Perl代碼的最佳方式?
- 25. 什麼是管理Xcode代碼片段的最佳方式?
- 26. 縮短此代碼的最佳方式是什麼?
- 27. 執行沙盒Java代碼的最佳方式是什麼?
- 28. 模擬XAML代碼繼承的最佳方式是什麼?
- 29. 組織android開發代碼的最佳方式是什麼?
- 30. 從activiti調用java代碼的最佳方式是什麼?
通過分析做u意味着畫UML(爲主題的建議)? – 2012-04-21 10:18:06
我允許加載「n」個文件並基於它們之間的鏈接(如果有)來繪製UML類圖。 – avalagne 2012-04-21 10:21:13