1

パーサーによって生成された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+)
    ;

実行時例外にすることができることはわかっていますが、例外階層を使用したいと思います。私は何か間違ったことをしていますか、それともその構文は機能するはずですか?

4

1 に答える 1

1

これは既知の問題のようです:http ://www.antlr.org/jira/browse/ANTLR-100

私は同じことをしようとしているので、残念です。

于 2010-06-11T23:28:09.953 に答える