"Решение не может различить альтернативу (ы) 1,2 для ввода..."
В настоящее время я изменяю Natty и создаю некоторые правила для моего собственного формата даты. Natty использует ANTLR v3.5.2
Когда я компилирую код, я получаю эту ошибку:
com \ joestelmach \ natty \ генерируется \DateParser.g:295:46: решение не может различить альтернативу (ы) 1,2 для ввода, например "WHITE_SPACE INT_10 TH WHITE_SPACE ЯНВАРЬ КОММА WHITE_SPACE INT_00 INT_00 WHITE_SPACE INT_00 INT_00 EOF"
Если я посмотрю следующее правило в строке 295:
relaxed_day_of_week
: (prefix WHITE_SPACE)? day_of_week COMMA? WHITE_SPACE? -> day_of_week
;
Я просмотрел документацию по ANTLR и произвел поиск переполнения стека, и не могу найти много информации об этом типе ошибки. Я предполагаю, что это связано с некоторой неоднозначностью в другом правиле, которое использует "relaxed_day_of_week"?
Правило, которое вызывает вышеуказанное правило:
custom_date
: relaxed_day_of_week WHITE_SPACE relaxed_day_of_month WHITE_SPACE relaxed_month (date_time_separator explicit_time_custom)? relaxed_year
-> ^(EXPLICIT_DATE relaxed_day_of_week relaxed_day_of_month relaxed_month relaxed_year (date_time_separator explicit_time_custom)?)
;
Кто-нибудь может объяснить ошибку для меня и указать мне правильное направление?
заранее спасибо