> -- igor писал(а):
> Между тем, синтаксис нетерминалов IdentDef и Qualident относится к классу регулярных выражений, и ни что не мешало придать им статус лексической единицы.
А как будет разрешаться неоднозначность на уровне сканера? Работа сканера должна зависеть от контекста? Или требоватьобязательноставить пробелы?## Код:
```
x := a*b
ident ":=" ident "*" ident
ident ":=" identDef ident

x := a.b.c.d
ident ":=" ident "." ident "." ident "." ident
ident ":=" qualIdent "." ident "." ident
ident ":=" qualIdent "." qualIdent
```
> -- igor писал(а):
> Справедливости ради, следует отметить, что  на практике эти тонкости не вызывают никаких проблем   .Сами и отвечаете на вопрос обоснованности такого усложнения.

P.S.
## Код:
```
int main (int argc, char *
/* многостраничный комментарий */
*
/* многостраничный комментарий */
argv)
{ return 0; }
```
