Mamy następujące podgrupy część gramatyki ANTLR:Obsługa błędów antlr składni lub jak dać lepszą wiadomość na nieoczekiwany znak
signed_int
: SIGN? INT
;
INT : '0'..'9'+
;
Kiedy ktoś wchodzi wartość liczbową wszystko jest w porządku, ale jeśli błędnie wpisać coś takiego 1O (jeden i kapitału o) możemy uzyskać tajemniczą wiadomość błąd jak:
error 1 : Missing token at offset 14
near [Index: 0 (Start: 0-Stop: 0) ='<missing COLON>' type<24> Line: 26 LinePos:14]
: syntax error...
Co to dobry sposób, aby obsługiwać ten rodzaj błędu? Pomyślałem o zdefiniowaniu typu znacznika SYMBOL typu catch-all, ale prowadzi to do zbyt wielu błędów budowania parsera . Będę dalej badał obsługę błędów Antlr, ale ja myślałem, że zamieściłbym to tutaj, by poszukać pewnych spostrzeżeń.