0

さて、MyClass.java のようなクラスを User から受け取る必要があります。私のプログラムは、すべてのクラスを読み取り、メソッド、クラス属性、およびクラス名を識別する必要があります。

だから私はいくつかの可能性を考えています:

1-リフレクションを使用してこのタスクをより高速に実行しますが、リフレクションの問題は、MyClass.class (バイトコード) が必要であり、ユーザーが「.java」を送信するため、リフレクションが破棄されることです。

2 - このタスクを実行するために、多数の正規表現を使用してスーパー アルゴリズムを作成します。このソリューションは機能しますが、この正規表現は非常に複雑になります。

3 - このタスクを実行するために、BNF Grammar に基づいてパーサーを作成します。これはより簡単な解決策だと思いますが、この時点からどのように開始するかわかりません。

さて、より良い解決策を見つけるのを手伝ってくれることを願っています。

4

2 に答える 2

0

オープンソースである Java パーサーを見て、とりわけ、探していることを実行することをお勧めします。

https://code.google.com/p/javaparser/wiki/UsingThisParser

于 2013-09-16T21:34:42.110 に答える
0

おそらくPMDなどのコード アナライザーを使用できます。さまざまなバージョンの Java 用のパーサーが含まれています。

于 2013-09-16T21:05:46.660 に答える