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


Интегрированная обучающая среда разработки промежуточного представления программ

Работа №21056

Тип работы

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

Предмет

информатика

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

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


ВВЕДЕНИЕ 7
1 Описание предметной области 8
1.1 Анализ предметной области 8
1.1.1 Промежуточное представление программ 8
1.1.2 Трехадресный код 9
1.1.3 Проблема проверки корректности программ в трехадресном коде при изучении промежуточного представления 10
1.2 Общие требования к средам разработки программ 10
1.3 Существующие среды разработки программ 11
1.4 Цель и задачи выполняемой работы 13
1.5 Обобщенный вывод 13
1.5.1 Архитектура системы 13
1.5.2 Программно-аппаратные средства для реализации системы 14
1.5.3 Практическая применимость системы 15
2 Спецификация на разрабатываемое программное обеспечение 16
2.1 Техническое задание 16
2.1.1 Введение 16
2.1.2 Основание для разработки 16
2.1.3 Назначение разработки 16
2.1.4 Требования к программе 17
2.1.4.1 Требования к функциональным характеристикам 17
2.1.4.2 Требования к составу и параметрам технических средств 17
2.1.4.3 Требования к информационной и программной совместимости 17
2.1.4.4 Требования к способам поставки и комплектации 18
2.1.5 Требование к программной документации 18
2.1.6 Стадии и этапы разработки 18
2.1.7 Порядок контроля и приемки 19
3 Описание программной системы 20
3.1 Общие сведения 20
3.2 Функциональное назначение 20
3.3 Описание логической структуры 20
3.3.1 Модуль графического интерфейса пользователя 21
3.3.2 Модуль генерации ассемблерного кода 23
3.3.3 Модуль симулятора выполнения программы в трехадресном коде 23
3.4 Используемые технические средства 24
3.5 Вызов и загрузка 24
3.6 Интерфейс пользователя 24
3.7 Комплект поставки программной системы 33
3.8 Лицензирование программной системы 34
4 Руководство пользователя 35
4.1 Общие сведения о программном продукте 35
4.2 Описание установки 35
4.3 Описание запуска 35
4.4 Инструкция по работе 36
5 Руководство системного программиста 38
5.1 Общие сведения о программном продукте 38
5.1.1 Назначение и функции программы 38
5.1.2 Необходимы ресурсы 38
5.2 Комплект поставки и установки 38
5.3 Описание запуска 39
5.4 Инструкция по работе 39
ЗАКЛЮЧЕНИЕ 40
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 41
ПРИЛОЖЕНИЕ А Методическое пособие. Фрагмент (раздел 2.2 Базовые блоки) 43


В процессе трансляции происходит генерация промежуточного представления исходной программы, предназначенная, прежде всего, для удобства генерации кода и/или проведения различных оптимизаций. Сама форма промежуточного представления зависит от целей его использования. Одной из наиболее часто используемых форм является трехадресный код.
При изучении компиляторных курсов, и, в частности, темы промежуточного представления исходных текстов, также рассматривается генерация трёхадресного кода, однако его корректность декларируется «как есть». Это обусловлено тем, что некоторые его конструкции недостаточно формализованы. С целью устранения данного недостатка можно использовать симулятор, позволяющий проверять корректность и работоспособность полученных инструкций данного промежуточного представления.
К настоящему моменту получена реализация симулятора, который не поддерживает некоторые «стандартные» трехадресные инструкции, и работает только в терминальном режиме, не позволяя проводить полноценную проверку корректности программ. Также, в связи с режимом работы симулятора, отсутствует наглядное представление программы и возможность «удобного» редактирования кода. Таким образом актуальность выполняемой работы не вызывает сомнений.
Целью данной работы является разработка интегрированной обучающей среды разработки промежуточного представления программ.
Для достижения поставленной цели необходимо решить следующие задачи:
- разработка графического интерфейса пользователя, включающего редактор кода с подсветкой синтаксиса, выделением базовых блоков;
- разработка подсистемы генерации ассемблерного кода целевой вычислительной системы;
- разработка симулятора для проверки корректности и работоспособности программы в трехадресном коде

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

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

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


При изучении компиляторных курсов, и, в частности, темы промежуточного представления исходных текстов, также рассматривается генерация трёхадресного кода, однако его корректность декларируется «как есть». Это обусловлено тем, что некоторые его конструкции недостаточно формализованы. С целью устранения данного недостатка, а также, для обеспечения наглядного представления программы и возможности «удобного» редактирования кода было проведено исследование существующих сред разработки на предмет целесообразности добавления необходимого функционала. В ходе анализа было принято решение о разработке программной системы «с нуля» существующими программно-аппаратными средствами.
В рамках данной работы была разработана программная система, реализующая функции редактора кода с подсветкой синтаксиса, генерации кода ассемблера для целевых вычислительных платформ, симулятора выполнения программ в трехадресном коде, демонстрации примеров кода. Система предназначена для использования в курсах разработки компиляторов при изучении промежуточного представления программ. Также написано методическое пособие по генерации кода для использования совместно с программой, фрагмент пособия представлен в приложении А. В целом, программная система отвечает поставленным требованиям, также обладает потенциалом для дальнейшего развития. Возможно расширение обучающего режима, добавление упражнений, добавление функций оптимизации кода на уровне базовых блоков и процедур, расширение функций редактора, отображение графа потока управления.



1. Ахо А. В. Компиляторы: принципы, технологии и инструментарий /А. В.
Ахо, М. С. Лам, Р. Сети, Д. Д. Ульман. - Москва : Изд. “Вильямс”, 2008.
2. CMake [Электронный ресурс]. - Режим доступа:https://cmake.org(дата обращения 10.03.2016).
3. Code::Blocks [Электронный ресурс]. - Режим доступа: http://www.codeblocks.org(дата обращения 17.02.2016).
4. Doxygen: Main Page [Электронный ресурс]. - Режим доступа: http://www.stack.nl/~dimitri/doxygen/index.html(дата обращения 29.04.2016).
5. Eclipse - The Eclipse Foundation open source community website. [Электронный ресурс]. - Режим доступа:https://eclipse.org/(дата обращения 17.02.2016).
6. GCC, the GNU Compiler Collection [Электронный ресурс]. - Режим доступа:https://gcc.gnu.org(дата обращения 17.02.2016).
7. Git [Электронный ресурс]. - Режим доступа:https://git-scm.com(дата обращения 02.05.2016).
8. LLVM Language Reference Manual [Электронный ресурс]. - Режим доступа:http://llvm.org/docs/LangRef.html(дата обращения 18.02.2016).
9. GNU Make [Электронный ресурс]. - Режим доступа: https://www.gnu.org/software/make/(дата обращения 15.05.2016).
10. MinGW. Minimalist GNU for Windows [Электронный ресурс]. - Режим доступа:http://www.mingw.org(дата обращения 14.03.2016).
11. Parrot, speaks your language [Электронный ресурс]. - Режим доступа: https://parrot.org(дата обращения 17.02.2016).
12.Scintilla and SciTE [Электронный ресурс]. - Режим доступа: http://www.scintilla.org/(дата обращения 15.05.2016).
13.Sparx Systems Product Family [Электронный ресурс]. - Режим доступа:
12.04.2016).
14. The LLVM Compiler Infrastructure [Электронный ресурс]. - Режим доступа:https://llvm.org(дата обращения 17.02.2016).
15. wxWidgets. Cross-Platfirm GUI Library [Электронный ресурс]. - Режим доступа:http://www.wxwidgets.org(дата обращения 17.02.2016).
16. Xcode [Электронный ресурс]. - Режим доступа:
https://developer.apple.com/xcode/(дата обращения 12.05.2016).
17. Zlib Licence [Электронный ресурс]. - Режим доступа:
http://www.gzip.org/zlib/zlib_license.html(дата обращения 14.06.2016).


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



Подобные работы


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