Курсовая работа по дисциплине: Теория языков программирования и методы трансляции. вариант 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 руб.
Курсовая работа по дисциплине: Теория языков программирования и методы трансляции. Вариант №10
IT-STUDHELP
: 6 июля 2023
Курсовая работа
цифры 20 (вар 10)
Постановка задачи
Тема: «Программа для автоматического построения регулярной грамматики (леволинейной или праволинейной) по словесному описанию языка»
Написать программу для автоматического построения регулярной грамматики (леволинейной или праволинейной) по словесному описанию языка.
Язык задан своим алфавитом, обязательной конечной подцепочкой, которая должна присутствовать во всех цепочках языка, и указанием кратности длины всех цепочек языка. В конечной ц
800 руб.
Курсовая работа по дисциплине: Теория языков программирования и методы трансляции. Вариант №10*
IT-STUDHELP
: 6 июля 2023
Курсовая работа
Вариант №10
Постановка задачи
Написать программу для автоматического построения регулярной грамматики (леволинейной или праволинейной) по словесному описанию языка.
Вход программы: алфавит языка, обязательная конечная подцепочка, кратность длины всех цепочек языка, тип грамматики (ЛЛ либо ПЛ), 2 числа – диапазон длин для генерации цепочек.
Выход: построенная грамматика (все 4 элемента), результат генерации цепочек.
Подробно:
Язык задан своим алфавитом, обязательной конечной п
800 руб.
Другие работы
Задание 65. Вариант 8 - Сечения
Чертежи по сборнику Боголюбова 2007
: 12 октября 2024
Возможные программы для открытия данных файлов:
WinRAR (для распаковки архива *.zip или *.rar)
КОМПАС 3D не ниже 16 версии для открытия файлов *.cdw, *.m3d
Любая программа для ПДФ файлов.
Боголюбов С.К. Индивидуальные задания по курсу черчения, 1989/1994/2007.
Задание 65. Вариант 8 - Сечения.
Выполнить главный вид детали и указанные сечения. На построенных изображениях нанести размеры (часть размеров указана на наглядном изображения детали).
В состав выполненной работы входят 4 файла:
1. 3D
80 руб.
Технологическая карта на монтаж каркаса здания
Kirill538
: 12 февраля 2012
Чертежи формата А1, 3 листа, выполнен в Компасе v.8:
1 Лист "Технологическая карта "Монтаж каркаса здания"
2 лист "Календарный план"
3 лист "Строигенплан"
+ Пояснительная записка(формат А4 в Word)
СОДЕРЖАНИЕ
I.ТЕХНИЧЕСКАЯ КАРТА НА МОНТАЖ КАРКАСА ЗДАНИЯ
1.1. Область применения
1.2. Выбор и технико-экономическое обоснование способа производства работ и
механизмов
1.3. Расчет и подбор состава бригады
1.4. Указания к производству работ
1.5. Техника безопасности при выполнении монтажных работ
1.6.
300 руб.
Лабораторная работа № 3 по дисциплине: Сети связи и системы коммутации 6 вариант
DonTepo
: 6 февраля 2013
Программная организация процесса ввода информации
Цель работы:
1. Изучение алгоритмов ввода информации в память управляющего устройства по результатам сканирования элементов АТС с программным управлением.
2. Изучение состава и назначения исходных данных, используемых программами ввода информации.
3. Изучение состава и назначения результирующих данных, создаваемых программами ввода информации.
4. Моделирование процесса ввода информации на IBM PC в дисплейном классе кафедры АЭС.
40 руб.
Моделирование речевого воздействия в рекламной коммуникации
VikkiROY
: 9 февраля 2015
Научная новизна диссертации заключается, прежде всего, в разработке системной модели рекламного речевого воздействия: в рамках диссертационного исследования впервые разработана методика моделирования рекламного речевого воздействия, выявлены и систематизированы коммуникативные стратегии, тактики и приёмы, характерные для рекламного дискурса. Предложена их классификация, основанная на психологических и коммуникативных критериях, что позволило выявить функциональную нагрузку языковых средств, их м
44 руб.