Вы получаете ошибку на входе 9
, потому что вы не определили ни одно правило лексера, которое соответствует 9
.На самом деле, вы вообще не определили никаких правил лексера.Обратите внимание, что вы определили DIGIT
только как фрагмент, а фрагменты не производят токены.
Вы также должны были получить предупреждение "неявное определение токена DIGIT in parser" в вашей грамматике.
Если вы удалите ключевое слово fragment
из определения DIGIT
, обе эти проблемы исчезнут.