antlr4: como saber qual alternativa é escolhida em um contexto
Suponha que exista uma regra sobre 'tipo'. É um tipo predefinido (referido pelo IDENTIFIER) ou um typeDescriptor.
type
: IDENTIFIER
| typeDescriptor
;
No meu programa, eu tenho uma instância do typeContext 'ctx'. Como sei se o caminho IDENTIFIER foi escolhido ou typeDescriptor foi escolhido.
Eu reconheço uma maneira de testarctx.IDENTIFIER() == null
ectx.typeDescriptor() == null
. Mas parece não funcionar muito bem quando há muito mais alternativas. Existe uma maneira de retornar um índice para indicar qual regra é escolhida? Obrigado.