abbiamo le seguenti sotto-parte di una grammatica Antlr:Gestione degli errori Antlr sintassi o il modo di dare un messaggio migliore su token imprevisto
signed_int
: SIGN? INT
;
INT : '0'..'9'+
;
Quando qualcuno entra un valore numerico è tutto a posto, ma se erroneamente digitare qualcosa di simile a 1O (uno e o capitale) si ottiene un messaggio di errore di criptico come:
error 1 : Missing token at offset 14
near [Index: 0 (Start: 0-Stop: 0) ='<missing COLON>' type<24> Line: 26 LinePos:14]
: syntax error...
cosa è un buon modo per gestire questo tipo di errore? Ho pensato a definendo il tipo di token SYMBOL catch-all, ma questo ha portato a troppi errori di generazione di parser . Continuerò a esaminare la gestione degli errori di Antlr, ma I ha pensato che avrei postato questo qui per cercare alcuni approfondimenti.