Компонентный подход к построению оптимизирующих компиляторов

Компонентный подход к построению оптимизирующих компиляторов

Автор: Дроздов, Александр Юльевич

Шифр специальности: 05.13.11

Научная степень: Докторская

Год защиты: 2010

Место защиты: Москва

Количество страниц: 307 с. ил.

Артикул: 4802833

Автор: Дроздов, Александр Юльевич

Стоимость: 250 руб.

Компонентный подход к построению оптимизирующих компиляторов  Компонентный подход к построению оптимизирующих компиляторов 

Семантическое предсган. Именованные объекты
3. Пакет Хэш. Внугрипроцелурнмй анализ потока данных без учета предикатных вычислений
аналитические промежуточные представления. Любое пользовательское промежуточное представление может быть преобразовано в промежуточное представление оптимизирующих блоков. Или мы можем аналитическое представление оптимизирующих блоков сразу надстраивать над любым пользовательским представлением. На рис. Рис. Аргумент может быть или объектом, или литералом. Результат это всегда объект. В диссертационной работе предлагается универсальный формат описания семантики программ, задаваемый с помощью X схемы. Данный формат включает в себя набор сущностей, и терминах которых можно описывать семантику программ. Универсальность формата позволяет отображать практически любое известное семантическое промежуточное представление программ в предлагаемой терминологии. К базовым понятиям относятся простейшие структу ры данных. Типами являются описатели объектов программы. Всего существует разновидностей типов.


Программа включает в себя описание модулей и глобальных переменных. Модуль включает в себя описание процедур и глобальных переменных. Процедура включает в себя описание локальных переменных и операционной семантики процедуры. Программа в БДП позволяет описать либо всю программу целиком, либо какуюто ее часть. Программа содержит программные модули. Если программа описана целиком, то для нее возможно использование блоков межпроцедуриого анализа и оптимизаций. Если описана только часть программы, то межпроцедурная функциональность не может быть использована. Задача линковки исходных модулей программы является внешней по отношению к блокам оптимизирующей технологии. Эту задачу могут решать либо фронтэнды либо линковщики исходных промежуточных представлений программы. Несмотря на отсутствие возможности линковки модулей, ничто не мешает описывать одновременно несколько модулей программы и осуществлять независимый запуск оптимизаций на эти модули. Операция является наиболее общим понятием, позволяющим отображать семантику программы, как с точки зрения входного языка, так и с точки зрения целевой архитектуры. Все операции можно разбить на два класса реальные операции и псевдооперации. Любая реальная операция имеет соответствие в машинных командах целевой архитектуры. Псевдооперации могут быть заведены для удобства работы фаз компиляции. Суть любой операции состоит в наборе атрибутов, описывающих то или иное действие. Некоторые атрибуты операций являются общезначимыми для всей операционной семантики, а некоторые специфичны для определенных классов операций. К первой категории относятся операнды операций, ссыпка в базу данных машинной модели и т. Ко второй категории относятся такие атрибуты как ссылка на объект для операций обращения в память, ссылка на процедуру для операций вызова и т. Атрибуты операций разбиваются на два класса известные для оптимизатора и неизвестные для оптимизатора. Неизвестные для оптимизатора атрибуты операций могут быть только скопированы при копировании операций. Никаких аналитических решений на основе этой информации не принимается. Алгоритмы анализа и оптимизаций используют информацию, содержащуюся в атрибутах, известных оптимизатору. Эти атрибуты однозначно трактуются алгоритмами. Для всех операций операционной семантики в БДП должны быть заданы семантические модели см. В приложении Б представлена схема задания семантических моделей в БДП. Языковаяинформация включает в себя такие понятия как типы структур данных и функций, а также сами структуры данных в виде объектов программы. Ссылки на объекты программы устанавливаются в операционной семантике. Ыа основе этой информации работают аналитические фазы оптимизирующей технологии. Тип в БДБ используется для описания объекта. При помощи типов, описываются такие общие свойства как размер, выравнивание, деление на подобъекты, символьное имя. Объекты программы представляют собой абстракцию области памяти. Объекты могут быть созданы для переменных, программы, для структур данных программы массивов, структур, для параметров процедур. С точки зрения доступности объекты могут соответствовать модулю или процедуре. Для создания объектов, модуля, используется интерфейс. Описание целевой архитектуры содержит в себе описание аппаратных особенностей архитектуры, знание о которых критично для эффективной работы алгоритмов оптимизации и как следствие, для получения эффективного кода компилируемой программы. Для целевой архитектуры должны быть описаны регистры целевой архитектуры, время исполнения операций выполнения, аппаратные ресурсы, требуемые для исполнения операций. Примером задания аппаратных черт в БДП является задание архитектурных черт в ОСС . Семантическое представление содержит семантику и необходимые атрибуты для работы оптимизирующих блоков. Для прочих атрибутов, которые не являются необходимыми для работы оптимизатора, семантическое представление обеспечивает работу механизма сохранения восстановления. Многие промежуточные представления в компиляторах объединяют в себе элементы семантики и аналитики.

Рекомендуемые диссертации данного раздела

28.06.2016

+ 100 бесплатных диссертаций

Дорогие друзья, в раздел "Бесплатные диссертации" добавлено 100 новых диссертаций. Желаем новых научных ...

15.02.2015

Добавлено 41611 диссертаций РГБ

В каталог сайта http://new-disser.ru добавлено новые диссертации РГБ 2013-2014 года. Желаем новых научных ...


Все новости

Время генерации: 0.240, запросов: 244