0

GrammarfileからParserとLexerを生成するときは常に、問題の代わりにすべてが正常に機能します。ANTLRは、ユーザーディレクトリ全体をリターンとコメントに自動的に追加します。それは良くありません。例えば:

return "C:\\Users\\##\\workspace\\project\\src\\Grammar.g"

また、このツールはコメントでも同じことを行います。

// $ANTLR 3.4 C:\\Users\\##\\workspace\\project\\src\\Grammar.g 2012-06-18 18:25:20

プロジェクトを公開する必要があるので、この「機能」を無効にする方法はありますか?

よろしく、redstreak。

4

1 に答える 1

1

パスは、ANTLR を呼び出す場所と方法に依存しているようです。ANTLRWorks ではこれを達成できませんでしたが、コマンド ライン ANTLR を使用すると、これを実行できます。次のことができます (例は Windows 用ですが、他の OS でも再現できるはずです)。

  1. コマンド ライン用の Antlr をダウンロードし、たとえば次の場所にコピーします。

    C:\Program Files (x86)\ANTLRworks\antlr-3.4-complete.jar.

  2. Windows コマンド ライン ( cmd.exe) を開き、文法ファイルがあるディレクトリに移動します。

    cd C:\Users[path to the eclipse project]\src\some\package\name

  3. 呼び出す

    java -jar "C:\Program Files (x86)\ANTLRworks\antlr-3.4-complete.jar" MyGrammar.g
    

    コマンドラインから。

生成された Java ファイルには、文法ファイルの名前のみが含まれ、パスは含まれなくなります。

この回答は、私自身の質問ANTLR で生成された Java クラスの (絶対) パスを削除します

于 2012-09-12T12:38:19.497 に答える