Теория языков программирования и методы трансляции Лабораторная работа № 1 Генерация цепочек языка
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Программа для просмотра текстовых файлов
- Microsoft Word
Описание
Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику или вводить свою с клавиатуры.
На вход программы подаётся КС-грамматика (терминальный и нетерминальный алфавиты, целевой символ, правила вывода), задаётся диапазон длин цепочек, указывается тип вывода (левосторонний или правосторонний).
Рекомендуется для ввода исходных данных использовать соответствующую форму. При вводе правил грамматики не рекомендуется предоставлять пользователю излишнюю свободу действий, например, удобнее запретить ввод в левой части правил более чем одного нетерминального символа, чем проверять введённые правила на соответствие контекстно-свободному типу.
На выходе должен быть список построенных цепочек. Все цепочки в списке должны быть различны. При получении одинаковых цепочек (разными способами) их следует сохранять в списке выводимых цепочек только в случае выполнения дополнительного задания.
Проверить программу на примерах из лекционного курса и на заданиях из контрольных вопросов к теоретической части.
Дополнительно: Дополнить предыдущую программу таким образом, чтобы для одной или нескольких цепочек (цепочки выбирает пользователь из числа построенных на предыдущем этапе работы) строилось дерево вывода, т.е. была структурно представлена последовательность правил, использованных при построении цепочки.
Контрольные вопросы:
Как поведёт себя программа, если при вводе правил грамматики сделать ошибку – ввести правила грамматики, не соответствующей КС-типу, или не использовать какие-то символы исходных алфавитов, или поместить в левой части правил терминальный символ?
Используется ли при генерации цепочек рекурсия? Если да, то как ограничена её глубина?
Какой язык порождается грамматикой G({0},{S,A},{SAAA, AAAA |0}, S)? Правильно ли Ваша программа работает на этом примере? Если нет – доработайте программу.
Разрешает ли Ваша программа использовать в исходной грамматике пустые правила? Если нет – доработайте программу.
Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику или вводить свою с клавиатуры.
На вход программы подаётся КС-грамматика (терминальный и нетерминальный алфавиты, целевой символ, правила вывода), задаётся диапазон длин цепочек, указывается тип вывода (левосторонний или правосторонний).
Рекомендуется для ввода исходных данных использовать соответствующую форму. При вводе правил грамматики не рекомендуется предоставлять пользователю излишнюю свободу действий, например, удобнее запретить ввод в левой части правил более чем одного нетерминального символа, чем проверять введённые правила на соответствие контекстно-свободному типу.
На выходе должен быть список построенных цепочек. Все цепочки в списке должны быть различны. При получении одинаковых цепочек (разными способами) их следует сохранять в списке выводимых цепочек только в случае выполнения дополнительного задания.
Проверить программу на примерах из лекционного курса и на заданиях из контрольных вопросов к теоретической части.
Дополнительно: Дополнить предыдущую программу таким образом, чтобы для одной или нескольких цепочек (цепочки выбирает пользователь из числа построенных на предыдущем этапе работы) строилось дерево вывода, т.е. была структурно представлена последовательность правил, использованных при построении цепочки.
Контрольные вопросы:
Как поведёт себя программа, если при вводе правил грамматики сделать ошибку – ввести правила грамматики, не соответствующей КС-типу, или не использовать какие-то символы исходных алфавитов, или поместить в левой части правил терминальный символ?
Используется ли при генерации цепочек рекурсия? Если да, то как ограничена её глубина?
Какой язык порождается грамматикой G({0},{S,A},{SAAA, AAAA |0}, S)? Правильно ли Ваша программа работает на этом примере? Если нет – доработайте программу.
Разрешает ли Ваша программа использовать в исходной грамматике пустые правила? Если нет – доработайте программу.
Дополнительная информация
зачет
Похожие материалы
Теория языков программирования и методы трансляции. Лабораторная работа № 1 Генерация цепочек языка. Для всех вариантов
dinapunsh
: 18 ноября 2019
Для всех вариантов
Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику или вводить свою с клавиату
130 руб.
Теория языков программирования и методы трансляции. Лабораторная работа №1. Генерация цепочек языка. Для всех вариантов.
nik200511
: 29 декабря 2015
Лабораторная работа № 1 Генерация цепочек языка
Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматик
36 руб.
Лабораторная работа №1 по дисциплине: Теория языков программирования и методы трансляции. Тема. Генерация цепочек языка.
Udacha2013
: 31 октября 2015
Лабораторная работа No 1 Генерация цепочек языка
Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматик
250 руб.
Лабораторная работа № 1 по дисциплине: "Теория языков программирования и методы трансляции" Тема: "Генерация цепочек языка". Вариант № 1
xtrail
: 9 апреля 2013
Содержание
Лабораторная работа No 1 Генерация цепочек языка 1
СОДЕРЖАНИЕ 2
1. ПОСТАНОВКА ЗАДАЧИ 3
2. ОПИСАНИЕ ВХОДНЫХ ДАННЫХ ПРОГРАММЫ И ЕЕ РЕЗУЛЬТАТОВ 3
3. ОПИСАНИЕ ОСНОВНЫХ ПЕРЕМЕННЫХ, БЛОКОВ И ПОДПРОГРАММ 8
4. АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ 10
5. ТЕКСТ ПРОГРАММЫ 10
6. РЕЗУЛЬТАТЫ РАБОТЫ 21
7. КОНТРОЛЬНЫЕ ВОПРОСЫ 22
1. Постановка задачи
Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВС
350 руб.
Лабораторная работа 1 По дисциплине: Теория языков программирования и методы трансляции. Тема: Генерация цепочек языка. Вариант 3
alexadubinina
: 20 ноября 2024
Лабораторная работа No 1 Генерация цепочек языка
Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику
400 руб.
Другие работы
Функциональное и логическое программирование. Лабораторная работа № 3. Вариант № 8. Семестр 5
Shamrock
: 17 марта 2014
Опpеделите на языке ЛИСП функционал, возвращающий истину, если определенным свойством обладает хотя бы один элемент списка. Проверьте работу функционала для предикатов:
-неположительное число (при вызове используйте лямбда-функцию);
-символ.
220 руб.
Проблема Каспия
evelin
: 29 декабря 2012
Геополитические и геоэкономические сдвиги, происходящие после распада огромного единого географического пространства СССР, приводят к формированию новых региональных, как сегодня принято говорить, конфигураций. Основу таких региональных объединений составляют, прежде всего, географические факторы: расположение стран в одной географической зоне с примерно одинаковыми климатическими условиями и биоресурсами, а также выход к общим "открытым зонам" — Черному, Каспийскому и Балтийскому морям.
5 руб.
Ответы на вопросы для доступа к лабораторной №1 по дисциплине: Направляющие системы электросвязи (все варианты)
Roma967
: 6 апреля 2016
Список вопросов:
1. Каковы погонные потери в первом окне прозрачности?
2. Каковы погонные потери во втором окне прозрачности?
3. Каковы погонные потери в третьем окне прозрачности?
4. Чем обусловлено затухание сигналов в волоконном световоде?
5. На какой длине волны затухание минимально: 850, 1310 или 1550 нм?
6. Какие потери допускаются в сварных соединениях одномодовых волокон?
7. Какие потери допускаются в сварных соединениях многомодовых волокон?
8. Какие потери допускаются в разъемных соеди
50 руб.
Технологическая схема КПП СОД чертеж
Laguz
: 24 февраля 2024
Чертеж технологической схема КПП СОД сделан в компас 21+сохранен в компас 11
120 руб.