Введение к работе
Актуальность. Предлагаемая работа посвящена вопросам разработки атрибутных систем автоматизированного построения компиляторов. Тенденции развития современной вычислительной техники характеризуются появлением большого числа новых типов ЭВМ и языков программирования. Поэтому трансляторы ' составляют значительную часть системного программного обеспечения. Развитие методов атрибутной трансляции и создание систем построения трансляторов на основе атрибутного подхода позюлягг значительно снизить затраты на производство трансляторов, а во многих случаях и повысить их качество.
Создание переносимого программного обеспечения для векторно-конвейерных ЭВМ сопровождается разработкой экспериментальных языков программирования и программных средств моделирования, включающих язык описания входных спецификаций. При написании трансляторов для подобных языков можно эффективно использовать предложенную систему построения трансляторов, так как она является в определенной степени универсальной и позволяет легко перенастраивать транслятор.
Предложенная автором атрибутная система построения трансляторов реализуется средствами логического программирования, которые позволяют достаточно эффективно описывать процесс трансляции.
Цель работы состоит в разработке н реализации атрибутной системы построения трансляторов (АСАПТ) для векторно-конвейерной ЭВМ, которая позволяет в значительной степени автоматизировать процесс написания транслятора, как в части синтаксического анализа, так и генерации кода. Разработанная система представляет собой программное средство поддержки разработки трансляторов для векторно-конвейерной ЭВМ н реализована на языке логического программирования Пролог. Входным языком системы является язык ALVP, специально раэработаный как средство для спецификаций АСАПТ и порождения трансляции в объектный язык.
Научная, новизна. На основе формализма атрибутных трансляционных грамматик предложен формализм LDC-атрнбутных грамматик, которые являются порождающими, унаследовав это свойство от
DC-грамматик. Это свойство LDC-грамматик устраняет существенный недостаток атрибутных грамматик, которые не являются порождающими.
На основе LDC-грамматик создана система построения трансляторов, ориентированная на вскторно-конвейерные ЭВМ. Предлагается язык ALVP, который используется в системе построения трансляторов как средство для спецификации входного языка и схем трансляции в объектный язык.
Исследована эффективность применения атрибутных грамматик и средств логического программирования для создания систем построения трансляторов. Показано, что предложенный метод построения систем автоматизации проектирования трансляторов может быть эффективно использован для спецификации языков программирования для векторно-конвейерной ЭВМ (при помоши АСАПТ был разработан транслятор для подмножества машинно-ориентированного векторного языка VECLAN, а также транслятор подмножества Паскаля, для оценки производительности которого использовались Ливерморские инклы. Для некоторых из них был получен векторный код).
Практическая ценность. Предлагаемая система и язык ALVP могут быть использованы разработчиками базового программного обеспечения векторно-конвейерных ЭВМ для создания трансляторов перспективных языков программирования и языков описания входных спецификаций систем моделирования векторно-конвейерной ЭВМ. Использование системы предполагает создание переносимого программного обеспечения и в случае модификации исходного языка позволяет легко перепрограммировать транслятор. Система также может быть использована для разработки трансляторов известных языков программирования. При этом для получения эффективной программы целесообразно использовать известные алгоритмы оптимизации.
Апробация работы. Основные результаты работы были доложены на семинаре отдела базового программного обеспечения Института проблем кибернетики АН СССР, научной школе-семинаре "Проблемы Кибернетики" (г.Киев, 1990), X Всесоюзном семинаре "Параллельное программирование и высокопроизводительные системы: Методы представления знаний в информационных технологиях" (г. Уфа, 1990).
Публикацией. Представляемые к зашите результаты опубликованы работах [1-3]
Структура диссертации. Диссертация состоит из введения, че-ырех глав, заключения, приложений и списка литературы, включаю-іего 57 наименований.