2

JavaCCバージョン5.0を使用しています。Eclipseガリレオで。

しかし、jjファイルでオプション「static = true」を設定すると、生成されたTokenManagerファイルには、「SimpleCharStream型の静的メソッドreadChar()は静的な方法でアクセスする必要があります」などの多くの警告があります。また、jjファイルからのすべてのインポートはTokenManagerにコピーされ、未使用のフラグが付けられます。これを防ぐオプションはありますか?

この問題はJavaCCv4.1で修正されたようですが、なぜまだこれに直面しているのですか?

4

2 に答える 2

1

JavaCC を static に切り替えても、既存の生成済みクラスは削除されません。その動作は、クラスに変更を加えた場合、または独自のバージョンを提供した場合です。

生成されたすべてのクラスを削除し、'static=true' を設定して、最初からやり直してください。すべてがうまくいくはずです。

(Ant のように) ビルドを自動化している場合は、JavaCC で生成されたクラスを常に削除して再生成し、テスト対象が再現可能であることを確認することをお勧めします。

Eclipseに関しては... JavaCC入力ファイルに変更を加えたときに、Antスクリプトを実行するように指示できます。

于 2011-02-18T14:03:06.133 に答える
0

これらの警告は、正しいが推奨されていないコードによるものです。生成されたコードを手作業で修正するのは得策ではないため、Eclipse でこれらの警告を無効にすることをお勧めします (Java > Compiler > Error/Warnings)。

プロジェクト固有の設定を使用してこれらの警告を無効にすることをお勧めします (すべてのプロジェクトで無効になるわけではありません)。生成されたすべてのコードをプロジェクトに配置し、コードをこのプロジェクトに依存させることもできます。コードの警告。

于 2011-02-15T21:39:16.063 に答える