Теория языков программирования и методы трансляции. Курсовая работа. Вариант 6.
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
- Программа для просмотра текстовых файлов
Описание
Вариант 6
Написать программу для автоматического построения грамматики, эквивалентной заданному регулярному выражению (РВ).
Вход программы: регулярное выражение в виде строки символов, 2 числа – диапазон длин для генерации цепочек.
Выход: построенная грамматика (все 4 элемента), результат генерации цепочек.
Подробно:
Язык задан регулярным выражением. При его записи могут быть использованы символы алфавита языка, а также: «+» (выбор одного из слагаемых), круглые скобки, «*» для обозначения итерации.
Программа должна:
1. по предложенному регулярному выражению строить эквивалентную грамматику, генерирующую этот же язык, в том виде, как она рассматривалась в теории, раздел 1.3.1;
2. с помощью построенной грамматики генерировать все цепочки языка в заданном пользователем диапазоне длин.
Грамматика может строиться любая – контекстно-свободная или регулярная, по выбору разработчика. Отдельно следует указывать, какой нетерминальный символ является целевым. Если в грамматике используется пустое правило, то необходимо дать пояснение, каким именно символом обозначается пустая цепочка.
После построения грамматики пользователь может убедиться в её правильности путём генерации всех цепочек языка в том диапазоне длин, который он задаст. Генерацию каждой цепочки языка следует поэтапно отображать на экране в виде цепочки вывода (в соответствии с примерами раздела 1.4.1.). Генерация осуществляется в соответствии с лабораторной работой №1.
Рассмотрим пример построения КС-грамматики.
Задано регулярное выражение: ((0+1+b)*a(0+1+b)*a)*(0+1+b)*a(0+1+b)*01a.
Для построения правил грамматики следует сделать разбор исходного регулярного выражения. Каждая скобка обозначается своим нетерминалом. Если на скобке стоит звёздочка (итерация), значит, на этом нетерминале будет явная рекурсия и пустое правило. Если в выражении стоит «+», то это означает альтернативу в правилах.
Обозначим первую большую скобку через A=((0+1+b)*a(0+1+b)*a)*, вторую B=(0+1+b)*. Само РВ должно порождаться из целевого символа грамматики. Тогда первое правило будет иметь вид: S®ABaB01a. В правиле для A будет присутствовать B: A®BaBa. Поскольку на скобке есть звёздочка, то надо добавить рекурсию и пустое правило: A®BaBaA|l. Нетерминал B рекурсивно порождает любые символы, кроме ‘a’: B®0B|1B|bB|l. Итак, грамматика построена, выпишем её полностью.
G({0,1,a,b},{S,A,B},P,S), где P: S®ABaB01a; A®BaBaA|l, B®0B|1B|bB|l.
Аналогично строится регулярная грамматика, только там следует учитывать, что в правой части правил может использоваться не более одного нетерминала, и располагаться во всех правилах грамматики он должен с одной стороны от цепочки терминальных символов.
Написать программу для автоматического построения грамматики, эквивалентной заданному регулярному выражению (РВ).
Вход программы: регулярное выражение в виде строки символов, 2 числа – диапазон длин для генерации цепочек.
Выход: построенная грамматика (все 4 элемента), результат генерации цепочек.
Подробно:
Язык задан регулярным выражением. При его записи могут быть использованы символы алфавита языка, а также: «+» (выбор одного из слагаемых), круглые скобки, «*» для обозначения итерации.
Программа должна:
1. по предложенному регулярному выражению строить эквивалентную грамматику, генерирующую этот же язык, в том виде, как она рассматривалась в теории, раздел 1.3.1;
2. с помощью построенной грамматики генерировать все цепочки языка в заданном пользователем диапазоне длин.
Грамматика может строиться любая – контекстно-свободная или регулярная, по выбору разработчика. Отдельно следует указывать, какой нетерминальный символ является целевым. Если в грамматике используется пустое правило, то необходимо дать пояснение, каким именно символом обозначается пустая цепочка.
После построения грамматики пользователь может убедиться в её правильности путём генерации всех цепочек языка в том диапазоне длин, который он задаст. Генерацию каждой цепочки языка следует поэтапно отображать на экране в виде цепочки вывода (в соответствии с примерами раздела 1.4.1.). Генерация осуществляется в соответствии с лабораторной работой №1.
Рассмотрим пример построения КС-грамматики.
Задано регулярное выражение: ((0+1+b)*a(0+1+b)*a)*(0+1+b)*a(0+1+b)*01a.
Для построения правил грамматики следует сделать разбор исходного регулярного выражения. Каждая скобка обозначается своим нетерминалом. Если на скобке стоит звёздочка (итерация), значит, на этом нетерминале будет явная рекурсия и пустое правило. Если в выражении стоит «+», то это означает альтернативу в правилах.
Обозначим первую большую скобку через A=((0+1+b)*a(0+1+b)*a)*, вторую B=(0+1+b)*. Само РВ должно порождаться из целевого символа грамматики. Тогда первое правило будет иметь вид: S®ABaB01a. В правиле для A будет присутствовать B: A®BaBa. Поскольку на скобке есть звёздочка, то надо добавить рекурсию и пустое правило: A®BaBaA|l. Нетерминал B рекурсивно порождает любые символы, кроме ‘a’: B®0B|1B|bB|l. Итак, грамматика построена, выпишем её полностью.
G({0,1,a,b},{S,A,B},P,S), где P: S®ABaB01a; A®BaBaA|l, B®0B|1B|bB|l.
Аналогично строится регулярная грамматика, только там следует учитывать, что в правой части правил может использоваться не более одного нетерминала, и располагаться во всех правилах грамматики он должен с одной стороны от цепочки терминальных символов.
Дополнительная информация
2015, зачет
Похожие материалы
Теория языков программирования и методы трансляции. Курсовая работа. Вариант №6.
Cole82
: 6 декабря 2016
Вариант 6
Написать программу для автоматического построения грамматики, эквивалентной заданному регулярному выражению (РВ).
Вход программы: регулярное выражение в виде строки символов, 2 числа – диапазон длин для генерации цепочек.
Выход: построенная грамматика (все 4 элемента), результат генерации цепочек.
Подробно:
Язык задан регулярным выражением. При его записи могут быть использованы символы алфавита языка, а также: «+» (выбор одного из слагаемых), круглые скобки, «*» для обозначени
111 руб.
«Теория языков программирования и методы трансляции». Вариант №6
NikolaSuprem
: 18 ноября 2021
Написать программу, которая по предложенному описанию языка построит регулярную грамматику (ЛЛ или ПЛ – по заказу пользователя), задающую этот язык, и позволит сгенерировать с её помощью все цепочки языка в заданном диапазоне длин. Предусмотреть возможность поэтапного отображения на экране процесса генерации цепочек.
Вариант задания языка: Алфавит, кратность вхождения некоторого символа алфавита и обязательная фиксированная подцепочка, на которую заканчиваются все цепочки языка.
Программа должн
500 руб.
Курсовая работа по дисциплине: Теория языков программирования и методы трансляции. Вариант №6
IT-STUDHELP
: 7 декабря 2022
Курсовая работа
Вариант 6
Задание:
Написать программу для автоматического построения грамматики, эк-вивалентной заданному регулярному выражению (РВ).
Вход программы: регулярное выражение в виде строки символов, 2 числа – диапазон длин для генерации цепочек.
Выход: построенная грамматика (все 4 элемента), результат генерации цепочек.
Подробно:
Язык задан регулярным выражением. При его записи могут быть ис-пользованы символы алфавита языка, а также: «+» (выбор одного из слага-емых), круглые скобк
800 руб.
Курсовая работа по дисциплине: Теория языков программирования и методы трансляции. Вариант №6
SibGOODy
: 17 октября 2018
1. ПОСТАНОВКА ЗАДАЧИ
Написать программу для автоматического построения грамматики, эквивалентной заданному регулярному выражению (РВ).
Вход программы: регулярное выражение в виде строки символов, 2 числа – диапазон длин для генерации цепочек.
Выход: построенная грамматика (все 4 элемента), результат генерации цепочек.
Подробно:
Язык задан регулярным выражением. При его записи могут быть использованы символы алфавита языка, а также: «+» (выбор одного из слагаемых), круглые скобки, «*» для об
1400 руб.
Курсовая работа по дисциплине: Теория языков программирования и методы трансляции. Вариант №6
Учеба "Под ключ"
: 30 декабря 2016
Задание:
Написать программу для автоматического построения грамматики, эквивалентной заданному регулярному выражению (РВ).
Вход программы: регулярное выражение в виде строки символов, 2 числа – диапазон длин для генерации цепочек.
Выход: построенная грамматика (все 4 элемента), результат генерации цепочек по обеим грамматикам.
Подробно:
Язык задан регулярным выражением. При его записи могут быть использованы символы алфавита языка, а также: «+» (выбор одного из слагаемых), круглые скобки, «*» д
1400 руб.
Теория языков программирования и методы трансляции
Илья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 руб.
Другие работы
Университет «Синергия» Общий и стратегический менеджмент (Темы 1-2 Итоговый тест)
Synergy2098
: 12 января 2025
Университет «Синергия» Общий и стратегический менеджмент (Темы 1-2 Итоговый тест)
Московский финансово-промышленный университет «Синергия» Тест оценка ОТЛИЧНО
2025 год
Ответы на 189 вопросов
Результат – 96 баллов
С вопросами вы можете ознакомиться до покупки
ВОПРОСЫ:
Основы менеджмента
УЧЕБНЫЕ МАТЕРИАЛЫ
Введение
Тема 1. Основы общего менеджмента
Тема 2. Основы стратегического менеджмента
1. «Турбулентность» внешней среды начала ХХI века выражается в том, что …
2. … — ключевой элемент ст
228 руб.
Разработка конструкции торцовых уплотнений обратного нагнетания уплотнения узла вала ротора насоса ЦНС 90-1100»-Дипломная работа-Оборудование для добычи и подготовки нефти и газа
as.nakonechnyy.92@mail.ru
: 20 июня 2018
Разработка конструкции торцовых уплотнений обратного нагнетания уплотнения узла вала ротора насоса ЦНС 90-1100»-Дипломная работа-Оборудование для добычи и подготовки нефти и газа
3 РАЗРАБОТКА И ПРИМЕНЕНИЕ ОНТУ
Имеющие ряд преимуществ ОНТУ могут применяться в различных вращающихся гидромашинах для перекачки легкокипящих, легковоспломиняющихся сред, или сред, содержащие твердые примеси, под высоким давлением или при высокой скорости вращения, при которых трудно функционировать традиционным контак
2714 руб.
Многоканальные телекоммуникационные системы. 5-й семестр. Лабораторная работа №1.
skaser
: 27 декабря 2011
Цель работы:
Экспериментальное исследование основных параметров и характеристик некоторых схем модуляторов многоканальных систем передач.
Содержание работы:
1. Собрать схему выбранного модулятора.
2. Пронаблюдать изменение временных диаграмм на входах и выходах модуляторов зарисовать их.
3. Определить спектральный состав тока на входах модуляторов по заданным параметрам.
4. Определить рабочие затухания модуляторов разных типов.
5. Измерить амплитудную характеристику активного модулятора и зарис
60 руб.
Анализ финансово-экономической деятельности ОАО "ЧЕТРА - Промышленные машины"
Lokard
: 4 ноября 2013
Машиностроение является наиболее развитой отраслью промышленности Чувашии. Она сформировалась в советский период, особенно быстрое ее развитие происходило в 40-70-е годы. На ее долю приходится около 39% основных производственных фондов и около 40% занятых (свыше 70 тыс. человек). Учитывая тесные связи, наличие внутриотраслевой специализации и кооперации между машиностроительными предприятиями республики и многоотраслевой состав машиностроения, его можно представить в виде комплекса. Значение маш
15 руб.