Определение правила antlr для идентификаторов с одним символом - PullRequest
0 голосов
/ 07 сентября 2010

Мне нравится определять очень простое правило, которое должно представлять идентификаторы. Это работает очень хорошо для идентификаторов, которые длиннее, чем один символ, но для идентификаторов с ровно одним символом я получаю исключение MismatchedTokenException (64! = 45) Это правило:

ID: ('a' .. 'z' | 'A' .. 'Z') + ;

Что с этим не так?

Спасибо!

1 Ответ

2 голосов
/ 10 сентября 2010

Вы абсолютно правы, правило само по себе прекрасно, но я понял, что многое в ANTLR зависит от порядка правил. У меня было другое правило, которое уже соответствовало правилу идентификации. Наконец, это имеет смысл, потому что Lexer не может решить, какое правило принять.

Спасибо!

...