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?

È stato utile?

Soluzione

Sembra che questo è un problema noto: http: //www.antlr. org / jira / browse / ANTLR-100

Sfortunato, come sto cercando di fare la stessa cosa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top