У меня есть анализатор дерева, который выполняет семантический анализ AST, сгенерированный моим
синтаксический анализатор. У него есть правило, объявленное следующим образом:
transitionDefinition throws WorkflowStateNotFoundException: /* ... */
Это прекрасно компилируется и соответствует синтаксису правила в ANTLR Wiki
но мое исключение никогда
объявлено, что компилятор Java жалуется на необъявленные исключения.
. / Tool / src / main / antlr3 / org / antlr / грамматика / v3 / ANTLRv3.g показывает, что это здание
дерево (но я на самом деле не уверен, если это ANTLR грамматика v2 или v3
3.2 использует):
throwsSpec
: 'throws' id ( ',' id )* -> ^('throws' id+)
;
Я знаю, что могу сделать это исключением во время выполнения, но я бы хотел использовать свое исключение
иерархия. Я делаю что-то не так или этот синтаксис должен работать?