1. Тема: «Синтаксис языков программирования. Восходящий
синтаксический анализ, автоматная реализация».
2. Цели работы: изучение основных идей и понятий
восходящего синтаксического анализа, свойств формальных грамматик, определяющих
принадлежность грамматики к одному из классов LR, получение навыков построения автоматной реализации
восходящего анализатора, исследование функционирования восходящих
синтаксических акцепторов.
3. Порядок выполнения работы:
3.1. Используя пакет
ВебТрансЛаб:
- построить для грамматик, разработанных при выполнении
заданий 4–7 табличную реализацию восходящего
синтаксического акцептора (шаблоны …SyntAsTxLR… и …SyntAsTCxLR…), разобраться в структуре управляющей таблицы
автомата, уяснить способы формирования и использования всех полей;
- изучить структуру таблицы канонических и таблицы
обобщенных конфигураций, связь этих таблиц с управляющей таблицей восходящего
синтаксического акцептора;
- выявить конфликты типов «сдвиг–свертка» и «свертка–свертка»,
разрешенные и, возможно, не разрешенные преобразователем, уяснить на этих
примерах основы LR-классификации грамматик.
3.2. Выполнить трассировку процессов нисходящего
синтаксического акцепта, изучить поведение всех построенных синтаксических
акцепторов при разборе как правильных предложений, так
и предложений с намеренно внесенными синтаксическими ошибками.
3.3. Проанализировать и сравнить между собой все полученные
тексты программ и результаты выполнения пункта 3.2. Оценить степень пригодности
изученных вариантов реализации нисходящих синтаксических акцепторов для выполнения
расчетно-графической работы.
3.4. Подготовить, сдать и защитить отчет по теме.