Книга: Системное программное обеспечение. Лабораторный практикум

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

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

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

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

В качестве объектного языка предлагается взять язык ассемблера для процессоров типа Intel 80x86 в реальном режиме (возможен выбор другого объектного языка по согласованию с преподавателем). Все встречающиеся в исходной программе идентификаторы считать простыми скалярными переменными, не требующими выполнения преобразования типов. Ограничения на длину идентификаторов и констант соответствуют требованиям лабораторной работы № 3.

1. Получить вариант задания у преподавателя.

2. Изучить алгоритм генерации объектного кода по дереву синтаксического разбора.

3. Разработать схемы СУ-перевода для операций исходного языка в соответствии с заданной грамматикой.

4. Выполнить генерацию последовательности триад вручную для выбранного простейшего примера. Проверить корректность результата.

5. Изучить и реализовать (если требуется) для заданного входного языка алгоритмы оптимизации результирующего кода методом свертки и методом исключения лишних операций.

6. Разработать алгоритм преобразования последовательности триад в заданный объектный код (по согласованию с преподавателем).

7. Подготовить и защитить отчет.

8. Написать и отладить программу на ЭВМ.

9. Сдать работающую программу преподавателю.

Оглавление книги


Генерация: 1.185. Запросов К БД/Cache: 2 / 0
поделиться
Вверх Вниз