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

Top.Mail.Ru

Задание 6. Генерация кода объектной машины


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


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

Цель работы

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

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

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

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

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

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