パーサーによって生成されたASTでセマンティック分析を実行するツリーパーサーがあります。次のように宣言されたルールがあります。
transitionDefinition throws WorkflowStateNotFoundException: /* ... */
これは問題なくコンパイルされ、 ANTLR Wikiのルール構文と一致します が、私の例外は宣言されないため、Javaコンパイラは宣言されていない例外について文句を言います。
./tool/src/main/antlr3/org/antlr/grammar/v3/ANTLRv3.gは、ツリーを構築していることを示しています(ただし、ANTLR 3.2が使用しているのがv2またはv3の文法である場合、実際には肯定的ではありません):
throwsSpec
: 'throws' id ( ',' id )* -> ^('throws' id+)
;
実行時例外にすることができることはわかっていますが、例外階層を使用したいと思います。私は何か間違ったことをしていますか、それともその構文は機能するはずですか?