"Решение не может различить альтернативу (ы) 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)?)
  ;

Кто-нибудь может объяснить ошибку для меня и указать мне правильное направление?

заранее спасибо

0 ответов

Другие вопросы по тегам