Все разделы / Программирование /


Страницу Назад
Поискать другие аналоги этой работы

За деньгиЗа деньги (596 руб.)

Теория языков программирования и методы трансляции. Курсовая работа. 9 вариант

Дата закачки: 15 Января 2015

Автор: nik200511
Продавец: nik200511
    Посмотреть другие работы этого продавца

Тип работы: Работа Курсовая
Форматы файлов: Microsoft Word, Delphi
Сдано в учебном заведении: СибГУТИ

Описание:
Вариант 9
Написать программу для автоматического построения регулярного выражения (РВ) по словесному описанию языка.

Вход программы: алфавит языка, обязательные начальная и конечная подцепочки, кратность длины всех цепочек языка, 2 числа – диапазон длин для генерации цепочек.

Выход: построенное регулярное выражение, результат генерации цепочек.

Подробно:

Язык задан своим алфавитом, обязательной начальной и конечной подцепочками и указанием кратности длины всех цепочек языка. В заданных подцепочках не должно находиться символов, не содержащихся в алфавите. В крайнем случае они (одна или обе) могут быть и пустыми. Особый случай – это пересечение заданных цепочек по одному или нескольким символам, в том числе и полное их совпадение. Кратность длины цепочек задается любым натуральным числом. Кратность, равная единице, равносильна отсутствию ограничений на длину цепочек.

Программа должна:

1. по предложенному описанию регулярного языка строить РВ, задающее этот язык, в том виде, как было рассмотрено в теории, раздел 2.1.1;

2. с помощью построенного РВ генерировать все цепочки языка в заданном пользователем диапазоне длин.

При генерации цепочек языка по РВ можно использовать любые структуры и алгоритмы, в том числе и прямой перебор.

Рассмотрим пример построения регулярного выражения.

Задан язык: алфавит {a,b,c}, обязательная начальная цепочка ‘саа’, конечная цепочка ‘aab’, длина цепочек кратна 2. Анализируем задание: язык будет состоять из цепочек чётной длины, начинающихся с цепочки ‘cаа’ и заканчивающихся на ‘aab’, например {сaab, сaaааb, caaасааb, сaabсaab, …}.

Для начала определим минимально возможную цепочку этого языка. Это ‘сaab’ – она получается при максимальном пересечении начальной и конечной цепочек, удовлетворяет всем условиям и является при этом самой короткой. Удлинить её можно путём уменьшения области пересечения начальной и конечной цепочек. Следующая по длине цепочка могла бы быть ‘сaаab’ (пересечение по одному символу), но она не удовлетворяет условию чётности длины. А вот ещё следующая цепочка – ‘сaaааb’ – получена простым соединением начальной и конечной цепочек. Это основа нашего РВ. Её можно удлинять, помещая между начальной и конечной цепочками некоторое количество символов алфавита, причём для сохранения чётности длины это количество тоже должно быть чётным. Для генерации любого количества пар символов используется итерация, а выбор одного из нескольких символов записывается в виде суммы.

Итоговое регулярное выражение будет иметь вид: саа((а+b+c)(a+b+c))*aab+caaaab.

Если в этом же задании изменить кратность длины на единицу, то итоговое РВ изменится таким образом: добавлять можно будет не пары символов, а по одному символу любое количество раз, и пересечения цепочек будут использованы все. Итоговое регулярное выражение будет иметь вид: саа(a+b+c)*aab+caaab +caaaab.

Коментарии: Borland Delphi 7.
Внимание! В работу вставляется ФИО автора.

Уважаемый слушатель, дистанционного обучения,
Оценена Ваша работа по предмету: Теория языков программирования и методы трансляции
Вид работы: Курсовая работа
Оценка:Отлично
Дата оценки: 18.12.2014
Рецензия:Уважаемая

Бах Ольга Анатольевна

Размер файла: 287,7 Кбайт
Фаил: Упакованные файлы (.rar)

-------------------
Обратите внимание, что преподователи часто переставляют варианты и меняют исходные данные!
Если вы хотите что бы работа точно соответствовала, смотрите исходные данные. Если их нет, обратитесь к продавцу или к нам в тех. поддержку.
Имейте ввиду, что согласно гарантии возврата средств, мы не возвращем деньги если вариант окажется не тот.
-------------------

 Скачать Скачать

 Добавить в корзину Добавить в корзину

        Коментариев: 2


Сдай работу играючи!

Рекомендуем вам также биржу исполнителей. Здесь выполнят вашу работу без посредников.
Рассчитайте предварительную цену за свой заказ.


Cherebas 03 Января 2016 08:44:58


Сообщений: 23
Добрый день! Сможете сделать 2 вариант?

nik200511 03 Января 2016 09:47:33


Сообщений: 37
Нет, этот предмет не делаю.


Страницу Назад

  Cодержание / Программирование / Теория языков программирования и методы трансляции. Курсовая работа. 9 вариант

Вход в аккаунт:

Войти

Перейти в режим шифрования SSL

Забыли ваш пароль?

Вы еще не зарегистрированы?

Создать новый Аккаунт




Сайт помощи студентам, без посредников!