ANTLR - Следующие альтернативы никогда не могут быть сопоставлены - PullRequest
3 голосов
/ 24 августа 2011

Я не могу понять, почему эта простая грамматика -

grammar Test;
file    :   ID;
ID  :   .*;

приводит к этой ошибке -

Test.g:3:6: The following alternatives can never be matched: 1

Почему это происходит?

1 Ответ

6 голосов
/ 24 августа 2011

Использование .* и .+ в конце правила лексера недопустимо в ANTLR:

ID : .*;       // illegal
ID : 'bar' .*; // illegal
ID : .* 'bar'; // legal

В правилах синтаксического анализа это не так.

...