У нас есть следующая под-часть грамматики Antlr:
signed_int
: SIGN? INT
;
INT : '0'..'9'+
;
Когда кто-то вводит числовое значение, все в порядке, но если они по ошибке введите что-то вроде 10 (один и заглавную о )мы получим загадочный сообщение об ошибке типа:
error 1 : Missing token at offset 14
near [Index: 0 (Start: 0-Stop: 0) ='<missing COLON>' type<24> Line: 26 LinePos:14]
: syntax error...
Как лучше всего справиться с ошибкой такого типа? я думал о определение catch -всех типов токенов SYMBOL, но это приводит к слишком большому количеству ошибки построения парсера. Я продолжу изучение обработки ошибок Antlr, но я думал, что опубликую это здесь, чтобы найти некоторые идеи.