1

私は実験を行っており、すべてのクラスとその属性とメソッドを Java のそれぞれのコードにマップする必要があります。今のところ、.java ファイルを解析し、それらのファイルに含まれるクラス、およびそれらの属性とメソッドを見つけるための最良の方法を知りたいと思います。他のいくつかのトピックで、独自の字句解析器を構築することは良い考えではないことを見てきました。これは、すでにこの困難な作業を行っているライブラリがいくつかあるためです。Java でいくつかのメソッドを呼び出すだけで、プロジェクトに既に含まれているファイルでこれを行うことができますが、外部の .java ファイルからではありません。

誰でも私を照らすことができますか?前もって感謝します

4

1 に答える 1

1

PMDのようなソース コード スキャン ツールを使用できます。PMD はソース コードをルールに照らしてチェックし、レポートを生成します。このような:

  • 何かがファイル名と RuleSet を PMD に渡します
  • PMD は InputStream をファイルに渡し、JavaCC で生成されたパーサーに渡します。
  • PMD は、パーサーから抽象構文ツリーへの参照を取得します。
  • PMD は、スコープを構築し、宣言を見つけ、使用法を見つけるシンボル テーブル レイヤーに AST を渡します。
  • データ フロー分析が必要なルールがある場合、PMD は AST を DFA レイヤーに渡して、制御フロー グラフとデータ フロー ノードを構築します。
  • RuleSet 内の各ルールは、AST をトラバースして問題をチェックします。ルールは、シンボル テーブルと DFA ノードにも影響を与える可能性があります。
  • レポートは RuleViolations でいっぱいになり、それらは XML や HTML などで出力されます。
于 2013-08-13T00:15:25.277 に答える