Извините, если какая-либо терминология отключена, только что начал использовать antlr в последнее время.ANTLR3 не игнорирует комментарии, начинающиеся с первого символа файла
Вот грамматика ANTLR, которая игнорирует многострочные комментарии:
COMMENT : '/*' .* '*/';
SPACE : (' ' | '\t' | '\r' | '\n' | COMMENT)+ {$channel = HIDDEN;} ;
Вот комментарий, начиная с первым символом файла, который я хотел бы скомпилировать:
/*
This is a comment
*/
Вот ошибка Я получаю:
[filename] line 252:0 no viable alternative at character '<EOF>'
[filename] line 1:1 no viable alternative at input '*'
Однако, если я поставить пробел перед комментарием, например, так:
/*
This is a comment
*/
Он компилируется в порядке. Есть идеи?
Нам нужна полная грамматика, чтобы узнать, что случилось. Кроме того, правило комментариев правило не является жадным, чтобы избежать потребления всех данных между двумя многострочными комментариями. –