文法ファイルは次のとおりです。
grammar fred;
test : 'fred';
ツールを起動するためのバッチ ファイルは次のとおりです。
SET JAVA_HOME=C:\Program Files\Java\jdk1.6.0_24
SET PATH=%PATH%;%JAVA_HOME%\bin
SET ANTLR_HOME=c:/users/don/workspace/antlrAssign/lib/
java -cp %ANTLR_HOME%/antlr-3.3-complete.jar antlr.Tool fred.g
結果は次のとおりです。
ANTLR Parser Generator Version 2.7.7 (20060906) 1989-2005
fred.g:1:1: unexpected token: grammar
error: Token stream error reading grammar(s):
fred.g:3:19: expecting ''', found 'r'
fred.g:1:1: rule grammar trapped:
fred.g:1:1: unexpected token: grammar
TokenStreamException: expecting ''', found 'r'
以前の投稿では「org.antlr.Tool」を参照していますが、3.3 jar には上記の場所にあります。アイデアは、ツリー パーサーのデバッグ バージョンを作成することでした。ドキュメントによると、コマンド ライン ツールを使用する必要があります。
誰もこれを見たことがありますか?私は気が狂っていますか?それは 2 行の長さで、ファイルの最初の単語で死んでいます。
もちろん、これは antlrworks でコンパイルされます。
助けていただければ幸いです。薬をこれ以上調整する余裕はありません。
ファローアップ:
ANTLRWORKS で Run --> Debug メニュー オプションを使用すると、ツリー パーサーのデバッグ バージョンが生成されることがわかりましたが、私の手元にあるコマンド ライン ツールでは生成されません。生成されたデバッグ ソースは、生成用の出力フォルダーに存在します。ANTLRWORKS で非デバッグ バージョンを取得するには、Generate メニュー オプションを使用します。Eclipse でツリー パーサーのデバッグ バージョンを使用して、テスト ハーネスを起動して待機し、treegrammar パーサー ファイルで Run Remote Debug を介して ANTRWORKS に接続します。ツリーのパーサーを調べたところ、不一致のツリー ノード エラーが発生しました (パーサー エラーではなく、ツリー パーサーをデバッグしているので問題ありません)。だから今、私は自分がした他のばかげたことを見つける必要があります。HTH 私以外の誰か。