Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, barysh, Вы писали:
B>>Здравствуйте, мне надо написать синтаксический анализатор языка для описания посредством LL(1) грамматик. (т.е. например задание : " Язык последовательностей из 0, 1 и 2, каждый член которых либо равен сумме двух предыдущих по модулю 3, либо равен 2." или "Тарабарский язык. После каждого слога вставляется одна и та же буква, например, «К». Пример. Вместо Кобралово будет КоКбраКлоКвоК." или язык предикатов и т.д.)
B>>В итоге надо получить набор примеров и контрпримеров языка, грамматика, грамматический разбор типичного примера, проверка на однозначность ветвления, модифицированная грамматика (если нужно), синтаксические диаграммы ( в таблице из трех столбиков: правило-диаграмма-замечания), алгоритм синтаксического анализа (в таблице из трех столбиков: правило или диаграмма-оператор на псевдокоде-замечания), код синтаксического анализатора (в таблице из трех столбиков: оператор на псевдокоде-оператор в используемом АЯ-замечания) и код.
B>>Начал читать "книгу дракона", но смущает ее размер(правда я так понимаю мне будет достаточно первых глав)
B>>Может кто сказать что еще почитать и есть ли похожие примеры ?
А>почитать можно http://citforum.ru/programming/theory/serebryakov/
А>А почему LL(1) а не LR(1)?
Потому что такое задание) а есть принципиальное отличие ?