在ANTLR语法规则上声明的异常被忽略

时间:2010-05-14 17:21:36

标签: exception antlr throw

我有一个树解析器正在对我生成的AST进行语义分析 解析器。它的规则声明如下:

transitionDefinition throws WorkflowStateNotFoundException: /* ... */

编译得很好,并且与ANTLR Wiki处的规则语法相匹配  但我的例外是永远不会 声明所以Java编译器抱怨未声明的异常。

./tool/src/main/antlr3/org/antlr/grammar/v3/ANTLRv3.g表明它正在建设中 一棵树(但如果它是ANTLR的v2或v3语法,我实际上并不是肯定的 3.2正在使用):

throwsSpec
    :   'throws' id ( ',' id )* -> ^('throws' id+)
    ;

我知道我可以将它作为运行时异常,但我想使用我的异常 层次结构。我做错了什么或该语法应该有效吗?

1 个答案:

答案 0 :(得分:1)

看起来这是一个已知问题:http://www.antlr.org/jira/browse/ANTLR-100

不幸的是,因为我正在努力做同样的事情。