SoftCraft
разноликое программирование

Top.Mail.Ru

Задание 4. Разработка таблицы имен


[ список заданий ]


Синтаксический разбор определяет принадлежность входной цепочки заданному языку. Однако одного разбора недостаточно для генерации кода или его интерпретации. Необходим дополнительный набор действий, которые:

  • определяют смысловую нагрузку объектов анализируемой программы;
  • порождают из синтаксического представления программы (в виде цепочки символов) ее семантическую (смысловую) модель;
  • анализируют корректность использования элементов построенной семантической модели перед построением выходного представления (кода объектной машины).

Эти действия определяются как семантический анализ, заключающийся в формировании семантической модели программы.

Создание и использование имен (идентификаторов) – неотъемлемая часть написания программы на любом языке программирования. Транслятор должен запоминать вводимые пользователем имена, определять конфликты, связанные с использованием объектов, обозначенных именами, запрещать повторное определение имен в пределах единой области их существования. При этом учитывается и то, что в некоторых языках программирования допустимо использование одного и того же имени в различных контекстах в рамках единой области действия.

Цель работы

Изучить применение семантического анализа при построении и использовании таблицы имен. Подключить таблицу имен, к программе распознавателя созданного при выполнении предыдущего задания. Разобраться с особенностями синтаксически управляемого перевода.

Порядок выполнения

  1. В соответствии с вариантом задания провести добавление в программу модулей, обеспечивающих работу с таблицей имен.
  2. Добавить в программу распознавателя код, определяющий взаимодействие с таблицей имен.
  3. Провести тестирование программы, перебрав при этом различные корректные и некорректные ситуации.
  4. Оттранслировать примеры, написанные при выполнении первого задания. Проанализировать результаты работы транслятора.

Сведения, необходимые для работы, представлены в лекциях по трансляторам:

Исходные тексты распознавателя DPL с подключенной таблицей имен

Содержание отчета

  1. Исходные тексты разработанной программы.
  2. Тесты, используемые для проверки правильной работы программы.
  3. Протоколы тестирования работы программы с таблицей имен.

[ список заданий ]