пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

pogromirovanie:
» sooqa
Уася:
» History motherfuckers

Общая схема работы компилятора. Основные этапы компиляции.

Нас будут интересовать следующие фазы компиляции: фаза генерации триплетов, фаза распределения В/Т регистров, фазы генерации псевдокода, фаза перестановки псевдокоманд и фаза распределения основных регистров.

Этим фазам компиляции соответствует следующая последовательность оптимизационных преобразований.

1) планирование по балансу,

2) распределение В/Т регистров,

3) перестановка псевдокоманд,

4) распределение A/S регистров.

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

В компиляторе предусмотрена возможность совместной компиляции пакета п/п. Все необходимые для этого работы вы полняются предыдущими фазами. Таким образом, если задана совместная компиляция с открытой подстановкой подпрограмм, то на входе данной фазы имеется уже собранная единая программа.

На входе данной фазы программа представляет собой лес деревьев — триплетов.

Данное представление после распределения промежуточных регистров и памяти поступает на вход генератора псевдокода. Результатом его работы является последовательность псевдокоманд. Она отличается от команд, прежде всего тем, что вместо основных регистров в псевдокомандах содержатся виртуальные основные регистры. Окончательное распределение основных регистров выполняется фазой (4).


27.01.2014; 08:08
хиты: 207
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь