> -- Евгений Темиргалеев писал(а):
> А как будет разрешаться неоднозначность на уровне сканера? Работа сканера должна зависеть от контекста? Или требовать  ставить пробелы?
Да, действительно. Если нетерминал IdentDef возвести в ранг лексем identDef, то РБНФ для начального символа грамматики сканера будет выглядеть так:## Код:
```
lexeme = {blank} (ident | identDef | number | ... ).
```
Такой синтаксис хоть и является регулярным, как я справедливо подметил, ноне является детерминированным(вот в чём ошибка!), потому что альтернативы ident и identDef могут иметь одинаковые начальные символы, со всеми вытекающими последствиями.

PS: Должен сказать, что "синий букварь" здорово помогает разобраться во всех этих вопросах