Задание № 8

1.   Тема: «Синтаксис языков программирования. Восходящий синтаксический анализ, автоматная реализация».

2.   Цели работы: изучение основных идей и понятий восходящего синтаксического анализа, свойств формальных грамматик, определяющих принадлежность грамматики к одному из классов LR, получение навыков построения автоматной реализации восходящего анализатора, исследование функционирования восходящих синтаксических акцепторов.

3.   Порядок выполнения работы:

3.1.     Используя пакет ВебТрансЛаб:

-     построить для грамматик, разработанных при выполнении заданий   4–7 табличную реализацию восходящего синтаксического акцептора (шаблоны …SyntAsTxLR… и …SyntAsTCxLR…), разобраться в структуре управляющей таблицы автомата, уяснить способы формирования и использования всех полей;

-     изучить структуру таблицы канонических и таблицы обобщенных конфигураций, связь этих таблиц с управляющей таблицей восходящего синтаксического акцептора;

-     выявить конфликты типов «сдвиг–свертка» и «свертка–свертка», разрешенные и, возможно, не разрешенные преобразователем, уяснить на этих примерах основы LR-классификации грамматик.

3.2.    Выполнить трассировку процессов нисходящего синтаксического акцепта, изучить поведение всех построенных синтаксических акцепторов при разборе как правильных предложений, так и предложений с намеренно внесенными синтаксическими ошибками.

3.3.    Проанализировать и сравнить между собой все полученные тексты программ и результаты выполнения пункта 3.2. Оценить степень пригодности изученных вариантов реализации нисходящих синтаксических акцепторов для выполнения расчетно-графической работы.

3.4.    Подготовить, сдать и защитить отчет по теме.