Теория языков программирования и методы трансляции. Курсовая работа. Вариант 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 руб.
Другие работы
Проект технической эксплуатации и ремонта машинного парка в условиях ЗАО «Троицкий речной порт»,
GnobYTEL
: 1 августа 2012
1 ТЕХНИКО-ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ 7
1.1. Структура предприятия 7
1.2. Виды выполняемых работ 7
1.3. Состав парка машин 9
2. РАЗРАБОТКА ПЛАНОВ ТЕХНИЧЕСКОЙ ЭКСПЛУАТАЦИИ ПАРКА МАШИН
400 руб.
Схемотехника телекоммуникационных устройств (часть 1). Лабораторная работа №1. Вариант 4
SibGUTI2
: 11 января 2020
Схемотехника телекоммуникационных устройств (часть 1). Вариант No4
ЛАБОРАТОРНАЯ РАБОТА No 1
“Исследование резисторного каскада предварительного усиления на биполярном транзисторе”
1.1. Цель работы
Исследовать влияние параметров элементов схемы каскада с эмиттерной стабилизацией на его показатели (коэффициент усиления, частотные и пере-ходные характеристики).
1.2. Подготовка к работе
1.2.1. Изучить следующие вопросы курса:
- цепи питания и схемы смещения транзисторных каскадов усиления;
- св
170 руб.
Разработать технологический процесс восстановления детали: ведущая шестерня нагнетающей секции.
halva
: 14 мая 2012
Cодержание:
Титульный лист
Задание на курсовой проект 1
Содержание 2
Ведение 3
СИНЕРГИЯ Финансовое право Тест 100 баллов 2024 год
Synergy2098
: 15 октября 2024
СИНЕРГИЯ Финансовое право (Темы 1-8 Итоговый и Компетентностный тесты)
МТИ МосТех МосАП МФПУ Синергия Тест оценка ОТЛИЧНО
2024 год
Ответы на 144 вопроса
Результат – 100 баллов
С вопросами вы можете ознакомиться до покупки
ВОПРОСЫ:
Учебные материалы
Введение в курс
Тема 1. Общая характеристика финансового права
Тема 2. Понятие и общая характеристика бюджета, его роль в политическом и экономическом развитии страны. Бюджетное устройство Российской Федерации
Тема 3. Субъекты бюджетного права.
228 руб.