Tenemos los siguientes sub-parte de una gramática Antlr:Gestión de errores de Antlr de sintaxis o cómo dar un mejor mensaje en el inesperado símbolo
signed_int
: SIGN? INT
;
INT : '0'..'9'+
;
Cuando alguien entra en un valor numérico que todo está bien, pero si por error, escribe algo así como 1O (uno y o de capital) se obtiene un mensaje de error críptico como:
error 1 : Missing token at offset 14
near [Index: 0 (Start: 0-Stop: 0) ='<missing COLON>' type<24> Line: 26 LinePos:14]
: syntax error...
¿Qué es una buena manera de manejar este tipo de error? Pensé en definiendo el tipo de token SYMBOL catch-all, pero esto lleva a demasiados errores de construcción del analizador . Continuaré investigando el manejo de errores de Antlr, pero creo que podría publicarlo aquí para buscar algunas ideas. I .