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


Разработка и реализация простейшего компилятора (Теоретические основы информатики, Тольяттинский государственный университет)

Работа №89200

Тип работы

Курсовые работы

Предмет

информатика

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

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


Введение 4
1. Исходные данные для выполнения курсовой работы 5
1.1. Задание по курсовой работе 6
1.2. Описание грамматики входного языка 7
2. Разработка лексического анализатора 9
2.1. Описание выбранного способа организации таблицы идентификаторов с обоснованием сделанного выбора 9
2.2. Разработка конечного автомата 14
2.3. Разработка лексического анализатора 17
2.4. Выбор метода взаимодействия лексического анализатора 18 синтаксическим разборщиком
3. Разработка синтаксического разборщика 19
3.1. Разработка матрицы предшествования 19
3.2. Разработка синтаксического разборщика 22
4. Разработка генератора результирующего кода 23
4.1. Выбор и описание форм внутреннего представления программы, используемых в компиляторе с обоснованием сделанного выбора 23
4.2. Разработка алгоритма порождения результирующего кода 23
4.3. Интеграция разработанных компонент в компилятор 24
4.4. Описание разработанного компилятора 24
Заключение 25
Список используемой литературы 26


Цель курсовой работы – разработка и реализация простейшего компилятора по заданному варианту исходных данных.
Задачи, решаемые в ходе выполнения курсовой работы для достижения указанной цели:
− разработать генератор таблицы идентификаторов;
− разработать лексический анализатор;
− разработать синтаксический разборщик;
− разработать генератор результирующего кода.
Курсовая работа включает введение, четыре раздела, заключение, список используемой литературы.
В первом разделе представлено описание исходных данных в соответствии с вариантом, сформулированы требования к входному языку компилятора, построена грамматика входного языка в форме Бэкуса-Наура.
Второй раздел содержит описание выбранного способа организации таблицы идентификаторов с обоснованием сделанного выбора, граф переходов конечного автомата лексического анализатора, описание и разработку лексического анализатора, выбор метода взаимодействия лексического анализатора с синтаксическим разборщиком.
Третий раздел включает разработку матрицы предшествования, синтаксического разборщика на основе разработанной матрицы простого предшествования с тестовыми примерами.
В четвертом разделе рассмотрены следующие вопросы: выбор и описание форм внутреннего представления программы, описание разработанного алгоритма порождения результирующего кода, интеграция разработанных компонент в компилятор, описание разработанного компилятора.
В заключении сформулированы краткие выводы по каждому разделу, полученные в процессе выполнения работы.


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

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

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


В результате данной работы мы познакомились с устройством и этапами работы компилятора, в ходе чего узнали, как распределяются идентификаторы в таблице идентификаторов и какие существуют методы распределения, узнали как устроен конечный автомат и как с его помощью выявить лексемы для организации таблицы лексем и узнали, что такое матрицы предшествования и способ их построения.


1 Баумгертнер, С. В., Кузьмичев, А. Б. Теоретические основы информатики. Выполнение курсовой работы [Текст] : учебно-методическое пособие для студентов направлений подготовки 01.03.02 Прикладная математика и информатика, 02.03.03 Математическое обеспечение и администрирование информационных систем. – Тольятти: ТГУ, 2018.
2 Белов, В. В. Алгоритмы и структуры данных [Электронный ресурс] : учеб. для вузов по направлению подгот. 09.03.04 "Программ. инженерия" (квалификация - Бакалавр) / В. В. Белов, В. И. Чистякова. - Документ Bookread 2. - М. : Курс [и др.], 2016. - 238 с. - Режим доступа: http://znanium.com/bookread2.php?book=766771.
3 Гагарина, Л. Г. Технология разработки программного обеспечения [Электронный ресурс] : учеб. пособие для вузов по направлениям подгот. 09.04.01 и 09.03.03 "Информатика и вычисл. техника" / Л. Г. Гагарина, Е. В. Кокорева, Б. Д. Сидорова-Виснадул Под ред. Л. Г. Гагариной. - Документ Bookread 2. - М. : Форум [и др.], 2018. - 400 с. : ил. - Режим доступа: http://znanium.com/bookread2.php?book=924760.
4 Гордеев, А. В., Молчанов, А. Ю. Системное программное обеспечение [Текст] : учеб. для вузов / А. В. Гордеев, А. Ю. Молчанов. - М.: Питер, 2017. - 736 c.
5 Молчанов, А. Ю. Системное программное обеспечение Лабораторный Практикум. [Электронный ресурс] : URL: https://docplayer.ru/30301704-Aleksey-yurevich-molchanov-sistemnoe-programmnoe-obespechenie-laboratornyy-praktikum.html.
6 Синицын, С. В. Основы разработки программного обеспечения на примере языка С [Электронный ресурс] / С. В. Синицын, О. И. Хлытчиев - Электрон. текстовые данные. - Москва: Интернет-Университет Информационных Технологий (ИНТУИТ), 2016. - 211 c. - Режим доступа: http://www.iprbookshop.ru/73700.html.
7 Richard L. Hulterman. Fundamentals of C++ Programming : School of Computing Southern Adventist University, 2018.


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




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