Declaraciones if / else en ANTLR usando oyentes

Estoy creando un lenguaje de programación simple para un proyecto escolar. Estoy usando ANTLR 4 para generar un lexer y un analizador de mi gramática. Hasta ahora, he estado usando el patrón de escucha ANTLRs para aplicar la funcionalidad real del lenguaje de programación.

Ahora me gustaría implementar las sentencias if / else, pero no estoy seguro de que éstas puedan implementarse cuando se usa el patrón de escucha, ya que ANTLR decide en qué orden debe atravesar el árbol de análisis al usar escuchas y me imagino que la implementación de if / de lo contrario, las declaraciones requerirán saltar alrededor del árbol de análisis según la condición que se cumpla en la declaración.

¿Alguien puede decirme si será posible implementar las declaraciones if / else utilizando ANTLR o si tendré que implementar el patrón de visitante yo mismo? Además, ¿puede alguien dar un ejemplo extremadamente simple de la implementación de las declaraciones?

Respuestas a la pregunta(1)

Su respuesta a la pregunta