2016-04-26 3 views
0

Я в процессе преобразования antlr3 в грамматику antlr4. Я удалил все синтаксические предикаты. Я изо всех сил стараюсь сделать правильное преобразование этогоПреобразование из Antlr3 в Antlr4

relaxed_date_month_first 
    : relaxed_day_of_week? relaxed_month COMMA? WHITE_SPACE relaxed_day_of_month (relaxed_year_prefix relaxed_year)? 
     -> ^(EXPLICIT_DATE relaxed_day_of_month relaxed_month relaxed_day_of_week? relaxed_year?) 

antlr4 grammar.

Каждый раз, когда инструмент antlr4 работает с символом «->», он говорит «посторонний вход» -> «Ожидание {TOKEN_REF, RULE_REF ... ACTION}».

Как исправить это?

ответ

0

ANTLR4 не имеет перезаписи деревьев. Таким образом, полностью удалите -> ...:

relaxed_date_month_first 
: relaxed_day_of_week? relaxed_month COMMA? WHITE_SPACE relaxed_day_of_month (relaxed_year_prefix relaxed_year)? 
;