7

だから私はANTLRv3.4を使ってEclipseで文法を作成していて、それが機能するものを作成しました。それを編集するときにすべてが機能することを確認したいと思います。いつでも通訳に入ることができますが、それは時間の無駄のようです。

質問:gunitについて読みましたが、gUnitをダウンロードするためのリンク(http://antlr.org/hudson/job/gUnit/org.antlr $ gunit / lastSuccessfulBuild /)が機能しません。gUnitを入手するにはどうすればよいですか。文法をテストする最良の方法は何ですか?それは実際にはgUnitですか、それともjUnitテストのようなJavaテストを実行する必要がありますか?

4

4 に答える 4

5

私は最近、Eclipseを使用して2つのANTLR3割り当てを完了しました(私はコンピューターサイエンスの修士号に取り組んでいます)。Eclipseで文法をインストール、構成、作成、およびデバッグするためのプロセスを備えた単一のドキュメントは見つかりませんでした。そのため、さまざまな問題に取り組んだ後、最も簡単な方法は、テストのためにEclipseにとどまることでした。

私が使用するようになったプロセス(以下に概説)を使用するには、最初にANTLRIDEv2.1.2をインストールする必要があります。Eclipse Indigoの内部から直接追加します:http://antlrv3ide.sourceforge.net/updates。このサイトには、ANTLRIDEの使用に関する役立つドキュメントもあります。インストールしたら、IDEを構成する必要があります。ビデオチュートリアルは少し時代遅れですが、役に立ちます。EclipseでANTLRIDEを構成するためのガイドの詳細な方法を参照してください。主な構成項目は、Java出力フォルダーです。Eclipseでこれを行うには、Windows、Preferences、ANTLR、Code Generatorに移動し、プロジェクトの相対フォルダーを確認し、[出力フォルダー名]ボックスにフォルダー名を入力します(私の名前は「antlr-java」、その他は「生成された」を使用します)。

ANTLRIDEを使用したEclipseIndigoでのANTLRのテスト/デバッグプロセス

  1. 新しいプロジェクトが作成されたら、それを右クリックし、[構成]、[ANTLRプロジェクトに変換...]を選択します。
  2. .gファイルに文法を作成して保存します。注:ファイル名は文法名と一致する必要があります。
  3. 重大なエラーがある場合は、文法をデバッグします。Eclipseは、ANTLRエラーと影響を受ける行を表示します。最初は、これらのエラーは理解しにくいように見えますが、さまざまなリソースを使用して解決できます。-ANTLRを作成したテレンスパーによる決定的なANTLRリファレンス-ANTLRリファレンスマニュアル-エラーをグーグルで検索します。多くの場合、ここでstackoverflowになります。特に、Bart Kiersは知識が豊富で役立つものです(Bart:あなたが私にくれたことを知らなかった助けに感謝します)
  4. 重大なANTLRエラーが解決された後の最初の保存時に、Eclipseで構成したJava出力フォルダーが作成され、そのフォルダー内にJavaファイルも作成されます。
  5. Java出力フォルダーを右クリックし、[ビルドパス]、[ソースフォルダーとして使用]の順に選択します。これにより、プロジェクトのJavaソースを探す場所がEclipseに通知されます。
  6. 新しいJavaファイルにエラーがある可能性があります。それを選択し、Javaエラーを探して検索します。文法またはJavaファイルに戻り、エラーを修正し、文法ファイルとJavaファイルの両方にエラーがなくなるまで文法を再保存してから実行します。
  7. この時点から、これは通常の変更-実行-デバッグサイクルです。
  8. 私が必要とした他のEclipseの変更は、コマンドラインパラメーターをテストするための実行構成をいくつか作成することだけでした。
于 2012-06-04T19:08:36.663 に答える
5

質問は古いですが、完全を期すためのリファレンスを残しています。

私にとって、gUnitは役に立たなかった。そこで、レクサーのみをテストし、次にパーサーのみをテストする方法を見つけることができました。

私はここでそれに答えました:https ://stackoverflow.com/a/53884851/976948

基本的に、それをテストする方法についての2つの記事へのリンクがあります:

于 2018-12-21T12:39:20.680 に答える
1

そこからgUnitをダウンロードできますが、最新バージョンはないと思います...

Jarvanaを試してください...最新バージョンは3.4です:http://repo1.maven.org/maven2/org/antlr/gunit/3.4/gunit-3.4.jar

@デイブニュートンは正しいです。ANTLR v3.1以降、gUnitは、そこに記載されているように、メインのANTLRツールjarに含まれています。


今までgUnitを知りませんでした。文法テストには最適に見えますが、JUnitテストは...

于 2012-05-31T17:18:55.077 に答える
0

gUinitについて聞いて読んだのはこれが初めてです。(私はANTLRをあまり使用しません。)それは面白そうに聞こえますが、半分は役に立たないです。

文法を検証するための私のアプローチは、「通常の」単体テストでパーサー全体を実際に検証することです。重要なのは、とにかくユニットテストを実施し、文法の回帰をチェックするテストをそこに追加するだけです。私の経験では、ほとんどのエラーは文法ではなく意味分析と削減にあります。

于 2012-06-01T13:06:43.373 に答える