Пред.Страница След.Страница  Раздел Содержание


7. Программная реализация атрибутных преобразователей

 

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

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

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

Основное внимание в настоящем разделе будет сосредоточено на примере построения и реализации атрибутного преобразователя. При этом будут рассмотрены следующие вопросы:

·        Определение синтаксиса и семантики подмножества входного языка.

·        Выбор символов действия и построение транслирующей грамматики.

·        Определение таблиц, необходимых для работы преобразователя.

·        Определение атрибутов, необходимых для построения АТ-грамматики

·        Построение магазина АТ-преобразователя

·        Построение инструкций и команд АТ-преобразователя

·        Построение объектно-ориентированных моделей для рассматриваемого преобразователя

·        Реализация программы АТ-преобразователя


Пред.Страница След.Страница  Раздел Содержание