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

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

Автор: Стасенко, Александр Павлович

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

Научная степень: Кандидатская

Год защиты: 2009

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

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

Артикул: 4368693

Автор: Стасенко, Александр Павлович

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

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

Введение.
1. Язык i 3.1 .
1.1. Потоковые языки программирования.
1.2. История развития языка i.
1.2.1. Язык V.
1.2.2. i 1.2
1.2.3. i 2.0
1.2.4. i .
1.2.5. i 3.0
1.3. Нововведения языка i 3.1.
1.3.1. Пользовательские типы
1.3.2. Другие нововведения
1.4. Ограничения языка i 3.1
1.5. Анализ изменений в языке i 3.1.
1.5.1. Улучшение межъязыкового взаимодействия с языком Си.
1.5.2. Повышение читаемости программ
1.5.3. Упрощение синтаксического разбора
1.5.4. Устранение неоднозначностей синтаксического разбора
1.5.5. Улучшение синтаксиса.
Выводы по главе 1.
2. Первое внутреннее представление I1.
2.1. Требования к внутреннему представлению.
2.2. Обзор промежуточных представлений программ.
2.2.1. Модель потока данных Дениса
2.2.2. Расширяемая модель расширяемого языка Берса
2.2.3. Модель вычислений языка Пифагор
2.3. Описание языка промежуточной формы I1.
2.3.1. Основные понятия.
2.3.2. Задание последовательного выполнения.
2.3.3. Альтернатива
2.3.4. Итерация.
2.4. Модель внутреннего представления I1.
2.4.1. Моделирование языковонезависимых понятий языка I1
2.4.2. Система интерфейсов модели.
2.5. Система дополнительных интерфейсов.
2.5.1. Преобразование I1 в X и обратно.
2.5.2. Визуализация I1 в ivX компоненте
Выводы по главе 2.
3. Графический метаязык описания транслятора
3.1. Обзор методов построения трансляторов
3.1.1. Нисходящие методы
3.1.2. Восходящие методы
3.1.3. Заключение по существующим методам.
3.2. Модель упрощенного магазинного автомата
3.2.1. Определение модели.
3.2.2. Недетерминированный автомат V.
3.2.3. Устранение переходов в детерминированном автомате 4.
3.2.4. Связь с классами грамматик.
3.2.5. Связь с классами языков
3.3. Представление модели, основанное на графе
3.3.1. Определение схемы .
3.3.2. Применение схемы Ч
3.3.3. Достоинства подхода
3.4. Расширения графического метаязыка
3.4.1. Ссмантическизависимые переходы
3.4.2. Иерархическая обработка неопределенностей
3.5. Описание транслятора.
3.6. Преобразование к интерпретируемой форме
3.6.1. Устранение мнимых дуг
3.6.2. Удаление недостижимых состояний
3.6.3. Оптимизация тестовых условий на дугах.
3.6.4. Минимизация автомата анализатора
3.6.5. Разворачивание нециклических зависимостей.
3.7. Адаптивная оптимизация интерпретации
Выводы по главе 3
4. Трансляция из i 3.1 в I1.
4.1. Обзор существующих компиляторов языка i.
4.1.1. Компилятор
4.1.2. Компилятор
4.1.3. Компилятор
4.2. Общая схема транслятора.
4.3. Система интерфейсов, задающая транслятор
4.3.1. Требования к системе интерфейсов
4.3.2. Описание системы интерфейсов
4.4. Лексический анализ
4.5. Синтаксический и семантический анализы
4.5.1. Общая структура разбора.
4.5.2. Общее описание разбора
4.5.3. Особенности разбора отдельных конструкций языка.
4.5.4. Сообщения об ошибках и предупреждениях.
4.5.5. Восстановление после ошибок разбора
Выводы по главе 4.
Заключение
Список литературы


В язык были добавлены операции для покомпонентных арифметических и логических действий над массивами и потоками, позволяющими, в отличие от языка Фортран , оперировать над массивами и потоками разных размерностей. Добавлены мощные операции для выбора и замены элементов массива, позволяющие выбирать и замещать его диагональные и треугольные части. Число ключевых слов в языке Sisal значительно сократилось, в основном, за счёт исключения из их числа имён встроенных типов и редукций. В язык было добавлено выражение case в трёх формах: обычный case, case type и case tag, делающее ненужным выражение tagcase. В язык введены новые типы комплексного числа одинарной (complex) и двойной точности (double complex) и операции над ними. Стало возможным задавать целые литералы в произвольной (от 2 до ) системе счисления. Для сокращения числа явных параметров, передаваемых глубоко вложенным вызовам функций, были введены константы времени исполнения WORM (Writc-Once-Read-Many), определяемые до своего использования только в выделенной функции - точки начала исполнения программы. Функция main не может иметь аргументов, являющихся множествами типов, что даёт возможность избавиться от всех множеств типов в программе на этапе компиляции. Параметры и результаты функции main задаются специальным внешним текстовым представлением Fibre []. В язык ведены развитые расширения для поддержки вызовов функций других языков программирования, позволяющие, в частности, возвращать значения через аргументы, переданные по ссылке. Для экспортируемой функции допускается указывать имя другого языка, средствами которого её можно вызывать. Циклы с диапазоном были усилены за счет введения диапазонов с произвольным шагом, включая отрицательный. В циклах без инициализации old имена означают имена из внешней по отношению к циклу области, что позволяет исключить определение новых циклических имен. В циклах с диапазоном разрешается использовать old имена, что добавило в язык новую последовательную форму цикла с диапазоном. Программы, написанные на языке Sisal 1. Sisal по причине их синтаксической несовместимости, что, однако, исправимо автоматически. Вместо знака двоеточия в конструкторах типов и операциях замены элементов массива в языке Sisal используется восклицательный знак. Встроенная функция array adjust языка Sisal 1. Также заменены и другие имена функций, задающие иные встроенные операции над массивами и потоками. Язык Sisal запрещает использование слов (ключевых для языка Sisal 1. Sisal 3. Версия языка Sisal 3. Институте систем информатики (ИСИ) имени А. П. Ершова СО РАН в качестве начальной версии входного языка в системе функционального программирования SFP (СФП) [], разрабатываемой в рамках проекта ПРОГРЕСС. Язык Sisal 3. Sisal и сохраняет направленность на серьёзные научные применения. Си, расширенной поддержке модульности программ, возможности их предварительной обработки (preprocessing) и аннотирования для упрощения оптимизирующих преобразований. Нововведения языка Sisal 3. Следующая версия языка Sisal 3. Sisal с помощью идей улучшенной поддержки модульности и механизмами предварительной обработки, предложенными в языке Sisal 3. Вопросы, связанные- с описанием мультиязыкового программирования и аннотирования программ, в работе не рассматриваются и оставлены для внедрения в последующих версиях языка. В приложении Л1 приведена семантика языка Sisal 3. Л2, является первым формальным описанием синтаксиса языка Sisal со времен языка Sisal 1. Основное нововведение версии Sisal 3. Абстрактные типы данных языком Sisal 3. Введение пользовательские типов в язык Sisal 3. Синтаксис пользовательских операций, включая их приоритеты и связывание, остаётся неизменным для сохранения читаемости программы. Следует отметить, что введение пользовательских операций не привело к изменению внутреннего представления Sisal программ, так как их использование заменяется вызовами соответствующих им функций. Введение пользовательских типов позволило отказаться от встроенных в язык Sisal комплексных типов, заменяя их эквивалентными по возможностям определяемыми пользовательскими типами.

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

28.06.2016

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

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

15.02.2015

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

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


Все новости

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