Курсовая работа по дисциплине: Теория языков программирования и методы трансляции. вариант 17
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Программа для просмотра текстовых файлов
- Microsoft Word
Описание
1. Задание
Написать программу для автоматического приведения заданной контекстно-свободной грамматики (КС-грамматики) к нормальной форме Хомского (БНФ).
Вход программы: терминальный и нетерминальный алфавиты грамматики, целевой символ, правила грамматики, 2 числа – диапазон длин для генерации цепочек.
Выход: построенная грамматика в БНФ (все 4 элемента), результат генерации цепочек по обеим грамматикам.
Подробно:
Язык задан КС-грамматикой, причём для приведения к БНФ она должна находиться в каноническом виде (раздел лекций 3.2.2). Приводить её к этому виду не требуется, достаточно только проверить корректность задания – действительно ли исходная грамматика находится в каноническом виде – и при отрицательном результате выдать соответствующее сообщение. Причём в этом сообщении должны быть конкретно указаны причины, почему именно грамматика не имеет канонического вида (например: «в грамматике присутствуют цепные правила: А→С», или «в грамматике присутствует недостижимый символ: В»). Для того чтобы в исходной грамматике можно было использовать пустое правило, необходимо либо предусмотреть поле ввода для символа, которым обозначается пустая цепочка, либо дать пояснения пользователю, как именно ему следует задавать пустое правило.
Программа должна:
1. проверить заданную КС-грамматику – находится ли она в каноническом виде и при отрицательном результате выдать сообщение;
2. привести заданную КС-грамматику к нормальной форме Хомского (раздел 3.3.1);
3. проверить построенную грамматику (БНФ) на эквивалентность исходной.
Для проверки построенной грамматики в БНФ на эквивалентность исходной по обеим грамматикам следует сгенерировать множества всех цепочек в заданном пользователем диапазоне длин и проверить эти множества на идентичность. При обнаружении несовпадения должна выдаваться диагностика различий – где именно несовпадения и в чём они состоят. Для удобства сравнения множества цепочек необходимо упорядочить, цепочки перенумеровать, для генерации цепочек по каждой грамматике сделать отдельную кнопку. Следует предусмотреть возможность многократного изменения диапазона длин цепочек и повторной их генерации для новых значений длины.
Приведение КС-грамматики к нормальной форме Хомского следует осуществлять согласно алгоритму, изложенному в лекционном материале (раздел 3.3.1).
2. Описание алгоритма решения задачи
Сначала множество нетерминальных символов новой грамматики строится на основе множества нетерминальных символов исходной грамматики: VN'=VN.
Затем алгоритм работает с правилами P исходной грамматики и в зависимости от их вида строит множество правил P' и пополняет множество нетерминальных символов VN'.
1. Правила вида A→a, A→BC, S→λ, где A, B, C∈VN, a∈VT, переносятся во множество P' без изменений.
2. Если встречается правило вида (A→aB)∈P, где A, B∈VN, a∈VT, то во множество правил P' добавляются правила A→<AaB>B и <AaB>→a, а новый символ <AaB> добавляется во множество нетерминальных символов VN'.
3. Если встречается правило вида (A→Ba)∈P, выполняется аналогичное действие: во множество правил P' добавляются правила A→B<ABa> и <ABa>→a, а новый символ <ABa> добавляется во множество нетерминальных символов VN'.
4. Если встречается правило вида (A→ab)∈P, где A∈VN, a, b∈VT, то во множество правил P' добавляются правила A→<Aa><Ab> и <Aa>→a, <Ab>→b, а новые символы <Aa>, <Ab> добавляются во множество нетерминальных символов VN'.
5. Если встречается правило вида (A→X1X2...Xk)∈P, где k>2, A∈VN, ∀i Xi∈VT∪VN, то во множество правил P' добавляются правила
A→X1'<X2'...Xk'>,
<X2'...Xk'>→X2'<X3'...Xk'>,
...
<Xk–1'Xk'>→Xk–1'Xk',
где все новые нетерминальные символы <...> добавляются во множество нетерминальных символов VN'. Что касается символов Xi', то их вид зависит от того, чем являлся исходный символ Xi. Если для некоторого i Xi∈VN, то Xi'≡Xi∈VN'; если Xi∈VT, то Xi' – новый нетерминальный символ, т.е. Xi'∈VN' и в P' нужно добавить правило Xi'→Xi.
Написать программу для автоматического приведения заданной контекстно-свободной грамматики (КС-грамматики) к нормальной форме Хомского (БНФ).
Вход программы: терминальный и нетерминальный алфавиты грамматики, целевой символ, правила грамматики, 2 числа – диапазон длин для генерации цепочек.
Выход: построенная грамматика в БНФ (все 4 элемента), результат генерации цепочек по обеим грамматикам.
Подробно:
Язык задан КС-грамматикой, причём для приведения к БНФ она должна находиться в каноническом виде (раздел лекций 3.2.2). Приводить её к этому виду не требуется, достаточно только проверить корректность задания – действительно ли исходная грамматика находится в каноническом виде – и при отрицательном результате выдать соответствующее сообщение. Причём в этом сообщении должны быть конкретно указаны причины, почему именно грамматика не имеет канонического вида (например: «в грамматике присутствуют цепные правила: А→С», или «в грамматике присутствует недостижимый символ: В»). Для того чтобы в исходной грамматике можно было использовать пустое правило, необходимо либо предусмотреть поле ввода для символа, которым обозначается пустая цепочка, либо дать пояснения пользователю, как именно ему следует задавать пустое правило.
Программа должна:
1. проверить заданную КС-грамматику – находится ли она в каноническом виде и при отрицательном результате выдать сообщение;
2. привести заданную КС-грамматику к нормальной форме Хомского (раздел 3.3.1);
3. проверить построенную грамматику (БНФ) на эквивалентность исходной.
Для проверки построенной грамматики в БНФ на эквивалентность исходной по обеим грамматикам следует сгенерировать множества всех цепочек в заданном пользователем диапазоне длин и проверить эти множества на идентичность. При обнаружении несовпадения должна выдаваться диагностика различий – где именно несовпадения и в чём они состоят. Для удобства сравнения множества цепочек необходимо упорядочить, цепочки перенумеровать, для генерации цепочек по каждой грамматике сделать отдельную кнопку. Следует предусмотреть возможность многократного изменения диапазона длин цепочек и повторной их генерации для новых значений длины.
Приведение КС-грамматики к нормальной форме Хомского следует осуществлять согласно алгоритму, изложенному в лекционном материале (раздел 3.3.1).
2. Описание алгоритма решения задачи
Сначала множество нетерминальных символов новой грамматики строится на основе множества нетерминальных символов исходной грамматики: VN'=VN.
Затем алгоритм работает с правилами P исходной грамматики и в зависимости от их вида строит множество правил P' и пополняет множество нетерминальных символов VN'.
1. Правила вида A→a, A→BC, S→λ, где A, B, C∈VN, a∈VT, переносятся во множество P' без изменений.
2. Если встречается правило вида (A→aB)∈P, где A, B∈VN, a∈VT, то во множество правил P' добавляются правила A→<AaB>B и <AaB>→a, а новый символ <AaB> добавляется во множество нетерминальных символов VN'.
3. Если встречается правило вида (A→Ba)∈P, выполняется аналогичное действие: во множество правил P' добавляются правила A→B<ABa> и <ABa>→a, а новый символ <ABa> добавляется во множество нетерминальных символов VN'.
4. Если встречается правило вида (A→ab)∈P, где A∈VN, a, b∈VT, то во множество правил P' добавляются правила A→<Aa><Ab> и <Aa>→a, <Ab>→b, а новые символы <Aa>, <Ab> добавляются во множество нетерминальных символов VN'.
5. Если встречается правило вида (A→X1X2...Xk)∈P, где k>2, A∈VN, ∀i Xi∈VT∪VN, то во множество правил P' добавляются правила
A→X1'<X2'...Xk'>,
<X2'...Xk'>→X2'<X3'...Xk'>,
...
<Xk–1'Xk'>→Xk–1'Xk',
где все новые нетерминальные символы <...> добавляются во множество нетерминальных символов VN'. Что касается символов Xi', то их вид зависит от того, чем являлся исходный символ Xi. Если для некоторого i Xi∈VN, то Xi'≡Xi∈VN'; если Xi∈VT, то Xi' – новый нетерминальный символ, т.е. Xi'∈VN' и в P' нужно добавить правило Xi'→Xi.
Дополнительная информация
Оценка: Отлично
Дата оценки: 15.05.2022
Помогу с вашим онлайн тестом, другой работой или дисциплиной.
E-mail: sneroy20@gmail.com
E-mail: ego178@mail.ru
Дата оценки: 15.05.2022
Помогу с вашим онлайн тестом, другой работой или дисциплиной.
E-mail: sneroy20@gmail.com
E-mail: ego178@mail.ru
Похожие материалы
Курсовая работа по дисциплине Теория языков программирования и методы трансляции
Некто
: 16 сентября 2018
Написать программу для автоматического построения детерминированного конечного автомата (ДКА) по словесному описанию языка.
Вход программы: алфавит языка, обязательная конечная подцепочка, цепочки для распознавания.
Выход: построенный ДКА (все 5 элементов), результат проверки цепочек.
Подробно:
Язык задан своим алфавитом, обязательной конечной цепочкой всех цепочек языка. В конечной цепочке не должно находиться символов, не содержащихся в алфавите. В край
200 руб.
Теория языков программирования и методы трансляции. Контрольная работа. Вариант №17
Doctor_Che
: 19 января 2013
No1 Пусть регулярный язык задан своим описанием:
Множество всех цепочек из {0,1,a}*, заканчивающихся цепочкой ’a1’ и содержащих чётное количество нулей. Например, ‘a1’, ‘00a1’, ‘010a1’ и т.п.
No2 Построить регулярную грамматику, задающую язык из задачи No1.
No3 Построить КС-грамматику, задающую язык из задачи No1. Сгенерировать две цепочки языка по построенной грамматике. Процесс генерации цепочек языка записать в виде цепочки вывода, указывая номера применённых правил (или сами правила, как
1300 руб.
Теория языков программирования и методы трансляции
Илья272
: 5 ноября 2023
Лабораторные работы основаны на лекционном материале; каждая выполняется после изучения соответствующего теоретического раздела. До выполнения лабораторной работы нужно внимательно разобраться с примерами, ответить на контрольные вопросы изученного теоретического раздела, а также решить задачи, предлагаемые в составе контрольных вопросов.
Каждая работа снабжена методическими указаниями, сопровождающими текст задания. Рекомендуется внимательно читать задание и выполнять работу в строгом соответс
1300 руб.
Теория языков программирования и методы трансляции
piligrim-24
: 11 апреля 2012
Билет No1
1) Классификация грамматик и языков по Хомскому. Проиллюстрировать на примерах (примеры должны быть свои).
2) Нисходящий распознаватель языков с возвратами. Алгоритм распознавателя с подбором альтернатив. Проиллюстрировать на примере (пример должен быть свой).
3) Построить детерминированный автомат с магазинной памятью P (с опустошением стека), допускающий язык L(P) = {a n b n c 2k k > 0, n 0}. Построить КС-грамматику для задания этого же языка.
50 руб.
Теория языков программирования и методы трансляции
piligrim-24
: 3 марта 2012
Лабораторная работа № 3
По дисциплине «Теория языков программирования и методы трансляции»
Моделирование работы МПА
Пусть контекстно-свободный язык задаётся детерминированным автоматом с магазинной памятью – ДМПА (теоретический материал раздела 3.1). Написать программу, которая будет проверять для вводимой цепочки, принадлежит ли она заданному КС-языку. В случае отрицательного ответа необходимо давать пояснение, по какой причине цепочка не принадлежит языку (аналогично лаб. раб №2) Исходный авт
50 руб.
Курсовая работа По дисциплине: Теория языков программирования и методы трансляции. Вариант 3
alexadubinina
: 20 ноября 2024
Задание на курсовую работу.
Написать программу для автоматического построения регулярного выражения (РВ) по словесному описанию языка.
Вход программы: алфавит языка, обязательная начальная подцепочка, выбранный символ алфавита, его кратность (натуральное число), 2 числа – диапазон длин для генерации цепочек.
Выход: построенное регулярное выражение, результат генерации цепочек.
Подробно:
Язык задан своим алфавитом, обязательной начальной цепочкой и указанием кратности вхождений некоторого символа
800 руб.
Курсовая работа по дисциплине: Теория языков программирования и методы трансляции. Вариант №04
IT-STUDHELP
: 6 июля 2023
Курсовая работа
Вариант №04
Постановка задачи
Тема: «Программа для автоматического построения детерминированного конечного автомата (ДКА), эквивалентного заданной регулярной грамматике»
Написать программу для автоматического построения детерминированного конечного автомата (ДКА), эквивалентного заданной регулярной грамматике.
Язык задан регулярной грамматикой, причём она может быть не автоматного вида. При написании программы разработчику разрешается выбрать один из двух типов регулярной грамм
800 руб.
Курсовая работа по дисциплине: Теория языков программирования и методы трансляции. Вариант №09
IT-STUDHELP
: 6 июля 2023
Курсовая работа
Вариант №09
Постановка задачи
Написать программу для автоматического построения регулярного выражения (РВ) по словесному описанию языка.
Вход программы: алфавит языка, обязательные начальная и конечная подцепочки, кратность длины всех цепочек языка, 2 числа – диапазон длин для генерации цепочек.
Выход: построенное регулярное выражение, результат генерации цепочек.
Подробно:
Язык задан своим алфавитом, обязательной начальной и конечной подцепочками и указанием кратности длины
800 руб.
Другие работы
Смена насоса с помощью выкатного устройства-Плакат-Картинка-Фотография-Чертеж-Оборудование для добычи и подготовки нефти и газа-Курсовая работа-Дипломная работа-Машины и оборудование нефтяных и газовых промыслов-Технологические машины и оборудование-Форма
leha.nakonechnyy.2016@mail.ru
: 20 декабря 2017
Смена насоса с помощью выкатного устройства-Плакат-Картинка-Фотография-Чертеж-Оборудование для добычи и подготовки нефти и газа-Курсовая работа-Дипломная работа-Машины и оборудование нефтяных и газовых промыслов-Технологические машины и оборудование-Формат Picture-Jpeg
195 руб.
Экология в моей будущей профессии
Slolka
: 17 ноября 2013
В связи с усиливающимся воздействием на природу антропогенных процессов сформировалась наука – экология, изучающая взаимоотношения человека и сообществ растительных, животных организмов с окружающей средой. В сферу деятельности этой науки входят проблемы рационального природопользования, практических способов защиты окружающей среды от отрицательных последствий человеческой деятельности и стихии природы. Экология в строительстве проявляется в мероприятиях, связанных с рекультивацией нарушенных п
5 руб.
Вискозиметр Сборочный чертеж СНС - 2-Чертеж-Оборудование для бурения нефтяных и газовых скважин-Курсовая работа-Дипломная работа
https://vk.com/aleksey.nakonechnyy27
: 27 мая 2016
Вискозиметр Сборочный чертеж СНС - 2-(Формат Компас-CDW, Autocad-DWG, Adobe-PDF, Picture-Jpeg)-Чертеж-Оборудование для добычи и подготовки нефти и газа-Курсовая работа-Дипломная работа
500 руб.
Нарушение земель горными и геологоразведочными работами
alfFRED
: 9 марта 2013
Якутия является к одним из наиболее перспективных регионов России в отношении добычи минерально-сырьевых ресурсов. В этой связи и учитывая реальные перспективы всемерного развития горнодобывающих предприятий, необходимого для стабилизации и подъема экономики в условиях суверенитета республики и успешного ее перехода к рынку, оценка последствий ведения горных работ заслуживает особого внимания.
Исторически сложилось так, что горные инженеры не задумывались над тем, как разработанный ими процесс д
10 руб.