434234

  • 10 марта 2011 г.
  • 5906 Слова
Московский Городской Психолого-Педагогический Университет
факультет «Информационные технологии»
кафедра «Прикладная информатика»




Реферат по предмету: "Лингвистическое обеспечение информационных систем"
Тема: «Синтаксически управляемая трансляция»

Выполнил студент гр.4.1:
Лешук Денис Викторович






Москва
2011г.Оглавление
Введение 4
5.1. Синтаксически управляемые определения 4
Вид синтаксически управляемого определения 5
Синтезируемые атрибуты 5
Наследуемые атрибуты 5
Графы зависимости 5
Порядок выполнения 6
5.2. Построение синтаксических деревьев 6
Синтаксические деревья 7
Построение синтаксических деревьев для выражений 7
Синтаксически управляемое определение для построения синтаксическихдеревьев 7
Направленные ациклические графы выражений 8
5.3. Восходящее выполнение S-атрибутных определений 8
Синтезируемые атрибуты в стеке синтаксического анализатора 9
5.4. L-атрибутные определения 9
L-атрибутные определения 10
Схемы трансляции 10
5.5. Нисходящая трансляция 10
Устранение девой рекурсии из схемы трансляции 10
Разработка предиктивного транслятора 11
Алгоритм 5.2.Построение предиктивного синтаксически управляемого транслятора 11
5.6. Восходящее вычисление наследуемых атрибутов 11
Удаление внедренных действий из схемы трансляции 11
Наследование атрибутов в стеке синтаксического анализатора 12
Моделирование вычисления наследуемых атрибутов 12
Алгоритм 5.3. Восходящий синтаксический анализ и трансляция с наследуемыми атрибутами 12
Замена наследуемых атрибутовсинтезируемыми 13
Сложное синтаксически управляемое определение 14
5.7. Рекурсивные вычислители 14
Обход слева направо 14
5.8. Память для значений атрибутов во время компиляции 15
Назначение памяти атрибутам во время компиляции 15
Устранение копий 15
5.9. Назначение памяти в процессе создания компилятора 16
Вычисление времени жизни по грамматике 16
Неперекрывающиеся времена жизни 16
5.10. Анализсинтаксически управляемых определений 17
Рекурсивное вычисление атрибутов 17
Строго нецикличные синтаксически управляемые определения 17
Проверка цикличности 18
Список литературы 19

Введение
Мы связываем информацию с конструкциями языка программирования с помощью атрибутов грамматических символов, представляющих данную конструкцию. Значения атрибутов вычисляются согласно "семантическим правилам", связанным спродукциями грамматики.
Существует два вида записи для связанных с продукциями семантических правил — синтаксически управляемые определения и схемы трансляции. Синтаксически управляемые определения представляют собой высокоуровневые спецификации трансляции, скрывающие множество деталей реализации и освобождающие пользователя от явного указания порядка выполнения трансляции. Схемы трансляции указываютпорядок, в котором выполняются семантические правила; так что эти схемы показывают определенную часть деталей реализации.
Концептуально при обоих методах мы разбираем входной поток токенов, строим дерево разбора и обходим его так, как необходимо для выполнения семантических правил в узлах дерева разбора (рис. 5.1). Выполнение семантических правил может генерировать код, сохранять информацию в таблицесимволов, выводить сообщения об ошибках или выполнять какие-либо другие действия. Результат трансляции потока токенов будет получен путем выполнения указанных семантических правил.
Входная Дерево Граф Порядок выполнения строка разбора зависимости семантических правил
Рис. 5.1. Концепциясинтаксически управляемой трансляции
Реализация не всегда следует приведенной на рис. 5.1 схеме. Частные случаи синтаксически управляемых определений могут быть реализованы за один проход выполнением семантических правил в процессе синтаксического анализа, без явного построения дерева разбора или графа, показывающего взаимосвязи между...
tracking img