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

Стасенко Александр Павлович. Модели и реализация транслирующих компонентов системы функционального программирования : дис. ... канд. физ.-мат. наук : 05.13.11 Новосибирск, 2006 231 с. РГБ ОД, 61:07-1/355
Автор
Стасенко Александр Павлович
Год
2006
  • 99 000 UZS

Оглавление диссертации
Введение
1. Язык Sisal 3.1 14
1.1. Потоковые языки программирования 14
1.2. История развития языка Sisal 15
1.2.1. Язык Val 15
1.2.2. Sisal 1.2 17
1.2.3. Sisal 2.0 18
1.2.4. Sisal 90 18
1.2.5. Sisal 3.0 20
1.3. Нововведения языка Sisal 3.1 21
1.3.1. Пользовательские типы 21
1.3.2. Другие нововведения 22
1.4. Ограничения языка Sisal 3.1 24
1.5. Анализ изменений в языке Sisal 3,1 24
1.5.1. Улучшение межъязыкового взаимодействия с языком Си 25
1.5.2. Повышение читаемости программ 25
1.5.3. Упрощение синтаксического разбора 26
1.5.4. Устранение неоднозначностей синтаксического разбора 27
1.5.5. Улучшение синтаксиса 28
Выводы по главе 1 29
2. Первое внутреннее представление IR1 30
2.1. Требования к внутреннему представлению 30
2.2. Обзор промежуточных представлений программ 31
2.2.1. Модель потока данных Дениса 32
2.2.2. Расншряемая модель расширяемого языка Берса 32
2.2.3. Модель вычислений языка Пифагор 35
2.3. Описание языка промежуточной формы И:1 36
2.3.1. Основные понятия 37
2.3.2. Задание последовательного выполнения 39
2.3.3. Альтернатива 39
2.3.4. Итерация 39
2.4. Модель внутреннего представления IR1 39
2.4.1. Моделирование языково-независимых понятий языка IF1 40
2.4.2. Система интерфейсов модели 41
2.5, Система дополнительных интерфейсов 49
2.5.1. Преобразование IR1 BXML И обратно 49
2.5.2. Визуализация IR1 в ActiveX компоненте 51
Выводы по главе 2 53
3. Графический метаязык описания транслятора 54
3.1. Обзор методов построения трансляторов 54
3.1.1. Нисходящие методы 51
3.1.2. Восходящие методы 58
3.1.3. Заключение по существующим методам 59
3.2. Модель упрощенного магазинного автомата 60
3.2.1. Определение модели 61
3.2.2. Недетерминированный автомат Ч; 62
3.2.3. Устранение s-переходов в детерминированном автомате Ч 63
3.2.4. Связь с классами грамматик 65
3.2.5. Связь с классами языков 67
3.3. Представление модели, основанное на графе 68
3.3.1. Определение схемы 4 69
3.3.2. Применение схемы Ч> 71
3.3.3. Достоинства подхода ,72
3.4. Расширения графического метаязыка 73
3.4.1. Семантически-зависимые переходы 73
3.4.2. Иерархическая обработка неопределённостей 75
3.5. Описание транслятора 76
3.6. Преобразование к интерпретируемой форме 78
3.6.1. Устранение мнимых дуг 79
3.6.2. Удаление недостижимых состояний 79
3.6.3. Оптимизация тестовых условий па дугах 79
3.6.4. Минимизация автомата анализатора 80
3.6.5. Разворачивание нециклических зависимостей 81
3.7. Адаптивная оптимизация интерпретации 81
Выводы по главе 3 82
4. Трансляция из Sisal 83
4.1. Обзор существующих компиляторов языка Sisal 83
4.1.1. Компилятор OSC 83
4.1.2. Компилятор FSC 84
4.1.3. Компилятор D-OSC 85
4.2. Общая схема транслятора 86
4.3. Система интерфейсов, задающая транслятор 87
4.3.1. Требования к системе интерфейсов 88
4.3.2. Описание системы интерфейсов 89
4.4. Лексический анализ 93
4.5. Синтаксический и семантический анализы 95
4.5.1. Общая структура разбора 97
4.5.2. Общее описание разбора 98
4.5.3. Особенности разбора отдельных конструкций языка 99
4.5.4. Сообщения об ошибках и предупреждениях 103
4.5.5. Восстановление после ошибок разбора 104
Выводы по главе 4 106
Заключение 107
Список литературы ПО
Список иллюстраций 120
Список таблиц 123
Список утверждений 124
А1. Описание языка Sisal 3.1 125
А 1.1. Общий вид Sisal 3.1 программы 125
А1.1.1. Элементы языка Sisal 3.1 125
A 1.1.2, Препроцессор 126
A 1.1,3. Интерфейс модуля 129
А 1.1.4. Реализация модуля 130
А 1.2. Типы 132
А 1.2,1. Простые (скалярные) типы 132
А1.2.2. Массивы 133
А1.2.3. Другие составные (агрегированные) типы 137
А1.2.4. Множество типов 140
А 1.2.5. Пользовательский тип 141
А 1,2.6, Преобразования типов, 141
А 1.3. Арифметические выражения 143
А 1.3.1. Постфиксные операции , 143
А 1.3.2. Префиксные операции 143
А 1.3,3, Инфиксные операции 143
А 1.3.4. Пользовательские операции 145
А1.4. Выражения 146
А 1,4.1, Выражение let 146
А 1.4.2. Выражение if 146
А1.4.3. Выражение case „ 147
А 1.4.4. Выражение where 148
А 1,5. Циклические выражения 148
А1,5.1. Выражения цикла с условием 149
А 1.5.2. Циклическое выражение с диапазоном 149
А1.5.3. Предложение возврата 150
А2. Extended BNF Sisal 3.1 153
А2.1. Синтаксис лексем 153
А2.2. Синтаксис языка 156
A3. Пример модуля, реализующего комплексное число 160
А3.1. Интерфейс модуля complex 160
A3.2. Реализация модуля complex 161
A4. Описание простых вершин IR1 165
А4.1. Алгебраические операции , 165
А4.1.1. Операции преобразования типов значений 165
А4.1.2. Арифметические операции 166
А4.1.3. Операции сравнения 167
А4.1.4. Операции сравнения типов , 168
А4.1.5. Логические операции 168
А4.2, Операции над массивами и потоками 169
А4.2.6. Операции с массивами , 169
А4.2.7. Операции с потоками „ 171
А4.3. Операции с записями и союзами 172
А4.4. Операции с функциями 173
А4.5. Особые операции циклических конструкций 174
А4.5.1. Редукции генератора диапазона 174
А4.5.2. Редукции предложения возврата 175
А5. Описание составных вершин IR1 178
А5.1. Select 178
А5.2. LoopA 181
А5.3. LoopB 183
А5.4. Forall 184
A5.5. Reduction 185
A6. Специализация ]R1 для языка Sisal 3.1 187
A7. Структура XML-представления ВП IRI 191
А8. Примеры применения схем Ч 195
А8.1. Простой язык 195
А8.2. Лексический разбор языка Sisal 3.1 197
А8.3. Семантико-синтаксический разбор языка Sisal 3.1 216
А9. Формат файла интерпретируемого автомата анализатора 228

Рекомендуем вам товары

99 000 UZS
Автор
Бистерфельд Ольга Александровна
Количество страниц
Год
2005
99 000 UZS
Автор
Богданова Вера Геннадьевна
Количество страниц
Год
2005
99 000 UZS
Автор
Боровиков Сергей Николаевич
Количество страниц
Год
2005
Модули для Opencart 2, Опенкарт 3