Eccezione dichiarato regola grammaticale ANTLR ignorato
Domanda
Ho un parser albero che sta facendo analisi semantica sulla AST generato dal mio parser. E 'una regola dichiarata come segue:
transitionDefinition throws WorkflowStateNotFoundException: /* ... */
Questa compila proprio bene e fiammiferi la sintassi regola alla ANTLR Wiki ma la mia eccezione è mai dichiarato in modo che il compilatore Java lamenta eccezioni non dichiarati.
./ / src / / antlr3 / org / antlr / grammatica / v3 / ANTLRv3.g dimostra che è edificio principale strumento un albero (ma non sono in realtà positiva se è la v2 o v3 grammatica ANTLR 3.2 sta usando):
throwsSpec
: 'throws' id ( ',' id )* -> ^('throws' id+)
;
So che posso farlo un'eccezione di runtime, ma vorrei usare la mia eccezione gerarchia. Sto facendo qualcosa di sbagliato o che il lavoro dovrebbe sintassi?
Soluzione
Sembra che questo è un problema noto: http: //www.antlr. org / jira / browse / ANTLR-100
Sfortunato, come sto cercando di fare la stessa cosa.