文法ファイルを(netbeansの)Javaプロジェクトにロードし、レクサークラスとパーサークラスを生成/ビルドし、リフレクションを介してロードしてから、解析する必要があるものを解析できます。
私が欲しいのは、JOptionPaneのようなポップアップにエラーを配置できるように、レクサーとパーサーの生成/ビルドからの結果を文字列にリダイレクトする簡単な例です。ANTLRworksがCTRL-Rを実行したときと同じように(少なくともWindowsでは)Error(123)grammar.g:100:12:...警告...などを表示します。
現在、私はすでにDiagnosticCollectorを使用していますが、これはANTLRworksのCTRL-rのように必ずしも十分な詳細ではありません。ユーザーであるという考えは、間違いを訂正するために文法を訂正します。
これが私のコードの抜粋です
Tool tool = new Tool(new String[]{userDir + grammarPath + grammarName + ".g"});
//tool.setOutputDirectory(userDir + grammarPath );
tool.process();
if(tool.getNumErrors()>0) {
errors=true;
unableToLoadGrammar_AddLine("1. Detected "+tool.getNumErrors()+" Error(s)"+tool.toString()+"\n");
}
ありがとう