Введение 3 Основная часть 6 1 Синтаксический анализатор 6 2 Вычисление значений выражений с помощью обратной польской нотации 8 3 Руководство программиста 11 Заключение 23 Глоссарий 24 Список использованных источников 26 Приложения 27

Синтаксические анализаторы. Обратная польская запись

курсовая работа
Информатика
25 страниц
65% уникальность
2022 год
23 просмотров
Аистов И.
Эксперт по предмету «Информатика»
Узнать стоимость консультации
Это бесплатно и займет 1 минуту
Оглавление
Введение
Заключение
Список литературы
Введение 3 Основная часть 6 1 Синтаксический анализатор 6 2 Вычисление значений выражений с помощью обратной польской нотации 8 3 Руководство программиста 11 Заключение 23 Глоссарий 24 Список использованных источников 26 Приложения 27
Читать дальше
Одна из главных причин, лежащих в основе появления языков программирования высокого уровня, — это вычислительные задачи, которые требуют больших объёмов рутинных и однообразных вычислений. Поэтому к языкам программирования всегда предъявлялись и предъявляются до сих пор требования максимального приближения формы записи вычислений к естественному языку математики. В связи с этим одной из первых областей системного программирования стало исследование способов анализа выражений. Каждый язык программирования описывается с помощью строго определенного набора правил, определяющих структуру правильной программы.


Интересует магистерская работа на заказ ? Переходите по ссылке на Work5.


Наиболее удобным формализмом для описания синтаксических конструкций языка программирования являются контекстно-свободные грамматики, например, широко распространена нормальная форма Бэкуса-Наура. Она представляет собой формальную систему описания синтаксиса, в которой одни синтаксические категории последовательно определяются через другие категории. Формальной грамматикой называется способ описания формального языка, то есть выделения некоторого подмножества из множества всех слов некоторого конечного алфавита. Отсюда возникает такой термин как синтаксический анализ или по-другому парсинг — процесс сопоставления линейной последовательности лексем (слов) языка с его формальной грамматикой. Результатом парсинга обычно является дерево разбора, которое также называют синтаксическим деревом. Синтаксический анализ выполняет программа или часть программы, которая называется синтаксическим анализатором или парсером. При парсинге исходный текст преобразуется в структуру данных, обычно в дерево, которое отражает синтаксическую структуру входной последовательности и хорошо подходит для дальнейшей обработки. Синтаксическая структура предложения, полученная в ходе парсинга, может быть представлена либо в виде дерева зависимостей, либо в виде дерева составляющих, либо в виде некоторой комбинации первого и второго способов представления. В области исследования анализа предложений были получены многочисленные результаты, однако наибольшее распространение получил метод парсинга с помощью обратной польской записи, которую предложил польский математик Я. Лукашевич. Грамматики одинаково помогают решать задачи как программистов, использующих язык, так и создателей компиляторов для данного языка: • Грамматика предоставляет точную и достаточно легкую для понимания синтаксическую спецификацию языка программирования. • Для некоторых классов грамматик мы можем автоматически сконструировать эффективный анализатор, который определяет, является ли исходная программа синтаксически правильной. • Аккуратно созданная грамматика может придать языку программирования такую структуру, которая будет полезна и при трансляции исходной программы в правильный объектный код, и при определении ошибок. • Компиляторы, разработанные на базе грамматик, могут быть достаточно легко расширены (это особенно полезно для добавления новых конструкций, появившихся как результат развития языка) Однако грамматики используются не только в языках программирования, но и в каждом из языков, на котором говорят люди (например, использование различных знаков препинания), в математических выражениях применяются знаки арифметических, логических операций. Примеров грамматики можно приводить бесконечное множество, однако в данной курсовой работе остановимся на грамматике языков программирования и грамматике математики. C помощью контекстно-свободных грамматик определяется контекстно-свободная составляющая языка программирования, то есть только то, каким образом записывается та или иная конструкция языка. Другая важная часть определения синтаксической правильности программы - правильность использования типов в программе - не может быть определена с помощью контекстно-свободных грамматик. Поэтому если программа выводима в грамматике, это еще не означает, что она полностью синтаксически правильна. Целью работы является изучение алгоритма обратной польской нотации. Для выполнения работы нужно решить следующие задачи: 1. Рассмотреть обратную польскую запись выражения и машину стеков – алгоритм вычисления значения выражения, основанный на данной нотации; 2. Написать программу на языке высокого уровня C#, удовлетворяющую поставленным задачам с требуемыми входными и выходными данными; 3. В ходе реализации использовать структура стека. Предметом курсовой работы является изучение алгоритма. Объектом – алгоритм обратной польской нотации. Курсовая работа состоит из введения, основной части, заключения и программы. В основной части работы содержится три главы: в первой главе приводится краткая теория по синтаксическим анализаторам; во второй главе приводится подробный разбор алгоритм обратной польской нотации и пример вычисления; в третьей главе составлено краткое руководство программиста и результаты работы программы.

Читать дальше
В данной работе были проведены следующие работы: 1. Рассмотрена обратная польская запись выражения и машина стеков – алгоритм вычисления значения выражения, основанный на данной нотации; 2. Написана программа на языке высокого уровня C#, удовлетворяющая поставленным задачам с требуемыми входными и выходными данными; 3. В ходе реализации реализована структура стека в виде соответствующего класса.
Читать дальше
1 Синтаксический анализатор выражений - Режим доступа: URL: https://cpp.com.ru/shildt_spr_po_c/29/2905.html – Текст: электронный. 2 Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы - Режим доступа: URL: https://vscode.ru/prog-lessons/obratnaya-polskaya-zapis – Текст: электронный. 3 Р.Ю. Вишняков, Ю.М. Вишняков. «Вычислительное» представление смысла текстовых фрагментов на основе обратной польской записи - Режим доступа: URL: https://cyberleninka.ru/article/n/vychislitelnoe-predstavlenie-smysla-tekstovyh-fragmentov-na-osnove-obratnoy-polskoy-zapisi/viewer – Текст: электронный. 4 Онлайн школа Фоксфорд. Обратная польская нотация - Режим доступа: URL: https://foxford.ru/wiki/informatika/obratnaya-polskaya-notatsiya – Текст: электронный. 5 Интуит. Синтаксические анализаторы. Нисходящие анализаторы - Режим доступа: URL: https://intuit.ru/studies/courses/26/26/lecture/805 – Текст: электронный. 6 Описание процесса трансляции программы - Режим доступа: URL: https://programm.ws/page.php?id=610 – Текст: электронный. 7 Разбор арифметического (и не только) выражения. Классические алгоритмы. - Режим доступа: URL: http://algolist.ru/syntax/parsear.php – Текст: электронный. 8 Документация по C# - Режим доступа: URL: https://docs.microsoft.com/ru-ru/dotnet/csharp/ – Текст: электронный. 9 Microsoft Visual Studio - Режим доступа: URL: https://visualstudio.microsoft.com/ru/downloads/ – Текст: электронный. 10 Коллекция Stack - Режим доступа: URL: https://metanit.com/sharp/tutorial/4.8.php – Текст: электронный.
Читать дальше
Поможем с написанием такой-же работы от 500 р.
Лучшие эксперты сервиса ждут твоего задания

Похожие работы

реферат
Стихии, боги и люди в древнейших китайских мифах.
Количество страниц:
20
Оригинальность:
79%
Год сдачи:
2022
Предмет:
Культурология
курсовая работа
Особенности управления персоналом в женском коллективе
Количество страниц:
25
Оригинальность:
53%
Год сдачи:
2022
Предмет:
Психология
курсовая работа
Преступления против безопасности и эксплуатации движения транспорта
Количество страниц:
30
Оригинальность:
72%
Год сдачи:
2022
Предмет:
Уголовное право
дипломная работа
"Радио России": история становления, редакционная политика, аудитория. (Имеется в виду радиостанция "Радио России")
Количество страниц:
70
Оригинальность:
61%
Год сдачи:
2015
Предмет:
История журналистики
курсовая работа
26. Центральное (всесоюзное) радиовещание: история создания и развития.
Количество страниц:
25
Оригинальность:
84%
Год сдачи:
2016
Предмет:
История журналистики

Поможем с работой
любого уровня сложности!

Это бесплатно и займет 1 минуту
image