¿Diferencia práctica entre las reglas del analizador y las reglas del lexer en ANTLR?

Entiendo la teoría detrás de la separación de las reglas del analizador y las reglas del lector en teoría, pero ¿cuáles son las diferencias prácticas entre estas dos declaraciones en ANTLR?

my_rule: ... ; MY_RULE: ... ; 

¿Dan como resultado diferentes árboles AST? ¿Desempeño diferente? ¿Ambigüedades potenciales?

Jen escribió :

… ¿Cuáles son las diferencias prácticas entre estas dos declaraciones en ANTLR …

MY_RULE se usará para tokenizar tu fuente de entrada. Representa un componente fundamental de tu lenguaje.

my_rule se llama desde el analizador sintáctico, consta de cero o más reglas o testigos del analizador producidos por el lexer.

Esa es la diferencia.

Jen escribió :

¿Dan como resultado diferentes árboles AST? ¿Desempeño diferente? …

El analizador construye el AST utilizando tokens producidos por el lexer, por lo que las preguntas no tienen sentido (para mí). Un lexer simplemente “alimenta” al analizador una secuencia de tokens de 1 dimensión.