Javaプログラムのスタイルチェック/翻訳作業をしようとしています。
まず、プログラムで使用できるように、ライブラリ(できればJava)が必要です。次に、次のことができると思います。
- プログラム全体をスキャンする(複数のソースファイル)
- 単一ファイルのASTにアクセスするためのAPIを提供する
- コールグラフにアクセスするためのAPIを提供します。たとえば、変数のすべての参照、メソッドのすべての呼び出し元などを知っています。
限られた時間の中で、Eclipse、pmd、antlr、sootなどのいくつかのツールを簡単に調べました。
- PMDおよびANTLR:レクサー/パーサー。ASTを取得できますが、複数のファイルを処理しないため、コールグラフはありません。
- Eclipse: APIを提供しているようですが、プラグインフレームワーク内でのみ使用可能であるか、RCPにバインドされています(スタンドアロンプログラムで使用される汎用ライブラリとしては機能しません)
- すす:私の要件に非常に近いようです。私はそれについての文書を読んでいます。
上記について誤解している場合は訂正してください。