4

単純な Java ロジックへの自動フローチャートのような視覚化を作成したいと思います。そのためには、Java ソース コードを解析する必要があります。Java 6 のANTLRjavax.lang.modelの 2 つの候補があります。どちらも簡単ではありません。

私が達成したいことに少しでも近い実用的な例をまだ見つけていません。

簡単な変数宣言、代入、フロー (if、for、switch、boolean 条件など) を見つけたい

これらのいずれかの簡単な例またはチュートリアルはありますか? ANTLRの例はほとんど見つかりませんでした(重要な「宿題」なしでそのまま使用できるものはありません)。javax.lang.modelの例はまったくありません

4

3 に答える 3

2

自分でパーサーを生成したい特別な理由はありますか? IMO、ソースファイルに関するデータを収集するために「単純に」トラバースするASTを既存のパーサーに作成させる方が簡単です。「get ast java source」というキーワードでお気に入りの検索エンジンを使用すると、多くの関連するヒットが得られます。

一見すると、これらは適切な候補のように見えます。

もちろん、ANTLR を使用することもできます。利用可能な Java 用のANTLR 文法は多数ありますが、このツール (または他のパーサー ジェネレーター) を選択する際にはかなりの学習曲線があります。ANTLR を選択した場合は、それに関する質問に喜んでお答えします。

頑張ってください!

于 2011-03-22T06:58:08.670 に答える
1

Java Soot、Java最適化フレームワークを使用することをお勧めします。これは、Javaソースを解析するのに役立ち、CFGと利用可能なさまざまなオプションを生成できます。

また、ここでEclipseプラグインを見つけることができます

于 2011-03-21T02:28:34.797 に答える
1

Eclipse Xtextで試してみます。これは、内部でANTLRを使用し、視覚化のためにEclipse GMFと一緒に使用するのも(比較的)簡単です。

于 2011-03-21T02:29:53.707 に答える