Задание
Вариант 10
Написать программу для автоматического построения регулярной грамматики (леволинейной или праволинейной) по словесному описанию языка.
Вход программы: алфавит языка, обязательная конечная подцепочка, кратность длины всех цепочек языка, тип грамматики (ЛЛ либо ПЛ), 2 числа – диапазон длин для генерации цепочек.
Выход: построенная грамматика (все 4 элемента), результат генерации цепочек.
Подробно:
Язык задан своим алфавитом, обязательной конечной подцепочкой, которая должна присутствовать во всех цепочках языка, и указанием кратности длины всех цепочек языка. В конечной цепочке не должно находиться символов, не содержащихся в алфавите. В крайнем случае она может быть и пустой. Кратность длины цепочек задаётся любым натуральным числом. Кратность, равная единице, равносильна отсутствию ограничений на длину цепочек.
Программа должна:
по предложенному описанию регулярного языка строить регулярную грамматику, генерирующую этот язык, в том виде, как она рассматривалась в теории, раздел 1.3.1;
Грамматика должна строиться и праволинейная, и леволинейная. Желаемый тип грамматики выбирается пользователем в меню. Все правила грамматики должны соответствовать выбранному типу! Отдельно следует указывать, какой нетерминальный символ является целевым. Если в грамматике используется пустое правило, то необходимо дать пояснение, каким именно символом обозначается пустая цепочка.
После построения грамматики пользователь может убедиться в её правильности путём генерации всех цепочек языка в том диапазоне длин, который он задаст. Генерацию каждой цепочки языка следует поэтапно отображать на экране в виде цепочки вывода (в соответствии с примерами раздела 1.4.1.). Генерация осуществляется в соответствии с лабораторной работой №1.
Рассмотрим пример построения регулярной грамматики.
Задан язык: алфавит {a,b,c}, обязательная конечная цепочка ‘aab’, кратность длины 2. Анализируем задание: язык будет состоять из цепочек чётной длины, заканчивающихся на ‘aab’, например {сaab, аaab, bааb, caaааb, сabaab, …}.
Для примера выберем праволинейную грамматику (ПЛ). В правой части её правил вывода может быть только один нетерминал, и он должен располагаться справа от цепочек терминальных символов. Для соблюдения кратности длины цепочек будет использоваться чередование нетерминалов. Длина кратна двум, следовательно, потребуется два нетерминала: S→aA|bA|cA, А→aS|bS|cS. Выход должен происходить по обязательной конечной цепочке ‘aab’, в силу чётности длины цепочек перед ней должен быть как минимум один символ. Следовательно, эта цепочка должна порождаться нетерминалом А: А→aab.
Итак, построенная грамматика имеет вид:
G({a,b,c},{S,A},P,S), Р: S→aA|bA|cA; А→aS|bS|cS|aab.
Спасибо огромное за помощь! Не первый раз к Вам обращаюсь и всегда всё на отлично!
Хорошая работа. Руководитель похвалил
Огромное спасибо за проделанную работу! Работу оценили на самую высокую оценку, в чем я и не сомневалась!
Все понравилось, спасибо огромное. При любом вопросе отвечают сразу. Если вдруг, нужна помощь или нужно что-то скоректировать, делают быстро и правильно!
Тип: Курсовая работа
Предмет: Английский
Стоимость: 4440 руб.
Тип: Курсовая работа
Предмет: Общая психология
Формы динамика и последствия абьюзивных отношений в практике психологического консультирования
Стоимость: 4616 руб.
Тип: Курсовая работа
Предмет: Методика преподавания английского языка
Развитие навыков аудирования с использованием подкастов и песен на уроках английского языка
Стоимость: 4147 руб.
Тип: Курсовая работа
Предмет: Оптика
Расчет параметров и разработка технологического процесса изготовления очковой линзы по рецепту
Стоимость: 11600 руб.
Тип: Курсовая работа
Предмет: Экономическая теория
Предпринимательство как фактор экономического роста
Стоимость: 3972 руб.
Курсовые работы готовят студенты любых специальностей: и , и , и , и . Этот проект показывает, какой материал выучил студент по определённому предмету и как он решил актуальную научную проблему. Наша статья об этапах написания курсовой пригодится тем, кто пишет её в первый раз и не знает, с чего нач...
Читать дальшеМожно написать блестящую работу, но ошибись с формулировкой темы или названием – и тебя ждет поражение. Чтобы этого не случилось, рассказываем, как может звучать по химии, и как вообще выбирают тему курсовой. Больше полезных материалов для учебы вы всегда найдете у нас в . А за скидками на заказы ...
Читать дальшеПредложение актуально на 13.11.2026