"mefrill" <31689@users.rsdn.ru> wrote in message
news:956550@news.rsdn.ru...
> Трудность синтаксического анализа действительно присутствует. Но просто
> потому, что Си++ не укладывается в LR(k) грамматику.
Не просто поэтому. Грамматика Си++ сложна грамматическими неоднозначностями,
которые есть неоднозначности независимо от класса грамматики. И эти
неоднозначности могут быть разрешены только имея на руках в каждый момент
времени полную семантическую информацию о том, что мы уже разобрали. И даже
этого иногда недостаточно — приходится пробовать несколько вариантов, делая,
в случае неудачи, откат как в состоянии парсера, так и в семантических
структурах.
> А парсеры типа Bison как раз на такой грамматике и работают.
Bison понимает LALR грамматики.
Posted via RSDN NNTP Server 1.9 delta