ここでOPがANTLTR文法をプロファイルする方法を尋ねるthis questionが見つかりました。
しかし、答えが多少不満足なのは、アクションのない文法に限定されているからです。さらに重要なのは、生成されたlexer/parserのdefaulコンストラクタを使用する自動プロファイリングです。Profile Antlr文法
私は文法をプロファイルする必要があります。つまり、はにアクションが含まれており、カスタムコンストラクタを使用して構築する必要があります。したがって、私はレクサー+パーサーを自分自身でインスタンス化し、プロファイルする必要があります。
このトピックに関する情報は見つかりませんでした。私はIntelliJ用のプロファイラがあることを知っていますが、リンクされた質問の答えに記述されているものと非常によく似ています(多分同じです)。
この特別なニーズで私の文法をどのようにプロファイルできますか?私は派手なGUIは必要ありません。結果をコンソールなどに表示すると、私は満足できます。
私はANTLR文法(自己インスタンス化されたレクサー/パーサー)のプロファイリングを可能にするコードを書く方法について、ツールまたはヒントを探しています。
Btw私のターゲット言語はJavaですので、プロファイラもJavaに含まれている必要があります。
この質問はかなり広範で、ここでは答えが難しいです。代わりに 'Parser.setProfile()'をtrueに設定し、解析実行後に 'Parser.getParseInfo()'から取得したものを調べることで開始できます。 –
申し訳ありませんが、私は試してみたいことがあります...私はそのオプションが存在することを知りませんでした – Raven
それは私が探しているすべての情報をカバーするようです。あなたのコメントの内容を含む答えを書くと(そして、それに対応するルールの名前とdecisionInfoをリンクする方法)、私はそれを私の質問に対する正しい答えとして受け入れます。 – Raven