Тип работы:
Предмет:
Язык работы:


РАЗРАБОТКА ФОРМАЛЬНОГО ЯЗЫКА И JIT-КОМПИЛЯТОРА МАТЕМАТИЧЕСКИХ ВЫРАЖЕНИЙ С ПОДДЕРЖКОЙ УПРАВЛЯЮЩИХ СТРУКТУР

Работа №47661

Тип работы

Дипломные работы, ВКР

Предмет

информатика

Объем работы66
Год сдачи2018
Стоимость4365 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
372
Не подходит работа?

Узнай цену на написание


СОДЕРЖАНИЕ
ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ 4
ВВЕДЕНИЕ 5
1 ОБЗОР ПРЕДМЕТНОЙ ОБЛАСТИ 6
1.1 ЕСТЕСТВЕННЫЕ И ФОРМАЛЬНЫЕ ЯЗЫКИ 6
1.2 ФОРМАЛЬНАЯ ГРАММАТИКА 9
1.3 КОМПИЛЯЦИЯ 10
1.4 ЛЕКСИЧЕСКИЙ АНАЛИЗ 10
1.5 СИНТАКСИЧЕСКИЙ АНАЛИЗ 12
1.6 ОБРАТНАЯ ПОЛЬСКАЯ НОТАЦИЯ 12
1.7 АБСТРАКТНОЕ СИНТАКСИЧЕСКОЕ ДЕРЕВО 14
2 РАЗРАБОТКА ФОРМАЛЬНОГО ЯЗЫКА 15
2.1 РБНФ 15
2.2 ОПИСАНИЕ КОНСТРУКЦИЙ ЯЗЫКА 17
3 РАЗРАБОТКА ЛЕКСИЧЕСКОГО И СИНТАКСИЧЕСКОГО АНАЛИЗАТОРОВ 19
3.1 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ЛЕКСИЧЕСКОГО АНАЛИЗАТОРА 19
3.2 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ АСД 21
3.3 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ СИНТАКСИЧЕСКОГО АНАЛИЗАТОРА 22
4 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ МЕХАНИЗМА JIT-КОМПИЛЯЦИИ 25
4.1 АЛГОРИТМ 25
4.2 ОПИСАНИЕ ПРОГРАММНОГО КОДА 25
4.3 ТЕСТИРОВАНИЕ 26
5 РЕАЛИЗАЦИЯ ГРАФИЧЕСКОГО ИНТЕРФЕЙСА 28
5.1 ОПИСАНИЕ КЛАССОВ 28
5.2 ТЕСТИРОВАНИЕ 29
ЗАКЛЮЧЕНИЕ 32
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 33
ПРИЛОЖЕНИЕ А 34


В настоящее время создаются всё более серьезные программные системы, требующие больших ресурсов ЭВМ. Разрабатываются новые динамические языки программирования, появляются новые задачи, требующие высокой производительности. Одним из решений проблемы является технология JIT-компиляции. Она позволяет увеличить производительность математической программной системы, использующей формальный язык, путём компиляции выражения в машинный код или в другой формат непосредственно во время работы программы.
Целью данной работы является разработка программного модуля и формального языка для анализа математических выражений и управляющих структур с JIT- компиляцией для увеличения производительности работы модуля.
Для реализации поставленной цели, в рамках данной работы сформулированы следующие задачи:
1. Создание формального языка программирования для вычисления математических выражений.
2. Применение методов лексического и синтаксического анализа выражений для распознавания математических выражений и конструкций языка.
3. Разработка модуля JIT-компиляции для динамических вычислений.
4. Анализ быстродействия JIT-компиляции по сравнению с программной интерпретацией.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В результате выполнения данной работы было разработан программного модуль и формальный язык для анализа математических выражений и управляющих структур с JIT-компиляцией для увеличения производительности работы модуля.
Были выполнены следующие задачи:
1. Создан формальный язык программирования для вычисления математических выражений.
2. Реализованы методы лексического и синтаксического анализа выражений для распознавания математических выражений и управляющих структур языка.
3. Разработан модуль JIT-компиляции для динамических вычислений.
4. Проведен анализ быстродействия JIT-компиляции по сравнению с программной интерпретацией.
В результате, при использовании технологии JIT мы увеличили производительность нашей программной системы почти в три раза, что является хорошим показателем.



1 Естественные и формальные языки [Электронный ресурс] - URL: http://informatikaiikt.narod.ru/predstavlenieinform2.html(дата обращения: 23.05.2018).
2 Естественные и искусственные языки. Формы языка [Электронный ресурс]
- URL: http://www.zavtrasessiya.com/index.pl?act=PRODUCT&id=1022 (дата
обращения: 24.05.2018).
3 И. Герасимова. «Формальная грамматика и интенсиональная логика», - Directmedia, 2013 - 156 с.
4 Альфред В. Ахо, Моника С. Лам, Рави Сети, Джеффри Д. Ульман «Компиляторы: принципы, технологии и инструментарий» — 2 изд. — М.: Вильямс, 2008. - 1178с.
5 Абстрактное синтаксическое дерево [Электронный ресурс] - URL: https://ru.wikipedia.org/wiki/Абстрактное_синтаксическое_дерево (дата обращения: 28.05.2018).
6 Е. Ишакова. «Теория языков программирования и методов трансляции», - Литрес, 2017 - 136 с.
7 А. Степанов. «Курс информатики для студентов информационно - математических специальностей», - "Издательский дом ""Питер"", 2017 - 1088 с.
8 Writing a minimal x86-64 JIT compiler in C++ - Электрон. дан. - [Б. м.], 2018.
- URL: https://solarianprogrammer.com/2018/01/10/writing-minimal-x86-64-jit-compiler- cpp/(дата обращения: 25.05.2018).
9 Adventures in JIT compilation: Part 2 - an x64 JIT - Электрон. дан. - [Б. м.],
2018. - URL: https://eli.thegreenplace.net/2017/adventures-in-jit-compilation-part-2-an-
x64-jit/ (дата обращения: 25.05.2018).
10 Макс Шлее. Qt.4.5.Профессиональное программирование на C++. - СПб: БХВ-Петербург, 2010 - 896 с.: ил


Работу высылаем на протяжении 30 минут после оплаты.




©2024 Cервис помощи студентам в выполнении работ