Теория языков программирования и методы трансляции Лабораторная работа № 1 Генерация цепочек языка

Состав работы

material.view.file_icon
material.view.file_icon
material.view.file_icon cppstudio.txt
material.view.file_icon lab1.docx
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon 04e121c1-2c64-4695-98e2-78e9e968ddc3.vsidx
material.view.file_icon 19f63d10-82c5-4db8-a5c5-e80bfa927f46.vsidx
material.view.file_icon c68b270f-6425-4710-b8b1-db31fd590a92.vsidx
material.view.file_icon
material.view.file_icon .suo
material.view.file_icon Browse.VC.db
material.view.file_icon Browse.VC.db-shm
material.view.file_icon Browse.VC.opendb
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon LAB1_TEOR.ipch
material.view.file_icon
material.view.file_icon .suo
material.view.file_icon Browse.VC.db
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon LAB1_TEOR.ipch
material.view.file_icon
material.view.file_icon LAB1_TEOR.ipch
material.view.file_icon
material.view.file_icon LAB1_teor.exe
material.view.file_icon LAB1_teor.pdb
material.view.file_icon
material.view.file_icon cppstudio.txt
material.view.file_icon
material.view.file_icon LAB1_teor.exe.recipe
material.view.file_icon LAB1_teor.ilk
material.view.file_icon LAB1_teor.log
material.view.file_icon LAB1_teor.obj
material.view.file_icon lab1_teor.obj.enc
material.view.file_icon
material.view.file_icon CL.command.1.tlog
material.view.file_icon CL.read.1.tlog
material.view.file_icon CL.write.1.tlog
material.view.file_icon LAB1_teor.lastbuildstate
material.view.file_icon link.command.1.tlog
material.view.file_icon link.read.1.tlog
material.view.file_icon link.write.1.tlog
material.view.file_icon vc142.idb
material.view.file_icon vc142.pdb
material.view.file_icon vc143.idb
material.view.file_icon vc143.pdb
material.view.file_icon LAB1_teor.cpp
material.view.file_icon LAB1_teor.vcxproj
material.view.file_icon LAB1_teor.vcxproj.filters
material.view.file_icon LAB1_teor.vcxproj.user
material.view.file_icon LAB1_teor.sln
material.view.file_icon LAB1_teor.cpp
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
  • Программа для просмотра текстовых файлов
  • Microsoft Word

Описание

Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.

Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику или вводить свою с клавиатуры.

На вход программы подаётся КС-грамматика (терминальный и нетерминальный алфавиты, целевой символ, правила вывода), задаётся диапазон длин цепочек, указывается тип вывода (левосторонний или правосторонний).

Рекомендуется для ввода исходных данных использовать соответствующую форму. При вводе правил грамматики не рекомендуется предоставлять пользователю излишнюю свободу действий, например, удобнее запретить ввод в левой части правил более чем одного нетерминального символа, чем проверять введённые правила на соответствие контекстно-свободному типу.

На выходе должен быть список построенных цепочек. Все цепочки в списке должны быть различны. При получении одинаковых цепочек (разными способами) их следует сохранять в списке выводимых цепочек только в случае выполнения дополнительного задания.

Проверить программу на примерах из лекционного курса и на заданиях из контрольных вопросов к теоретической части.

Дополнительно: Дополнить предыдущую программу таким образом, чтобы для одной или нескольких цепочек (цепочки выбирает пользователь из числа построенных на предыдущем этапе работы) строилось дерево вывода, т.е. была структурно представлена последовательность правил, использованных при построении цепочки.

Контрольные вопросы:

Как поведёт себя программа, если при вводе правил грамматики сделать ошибку – ввести правила грамматики, не соответствующей КС-типу, или не использовать какие-то символы исходных алфавитов, или поместить в левой части правил терминальный символ?
Используется ли при генерации цепочек рекурсия? Если да, то как ограничена её глубина?
Какой язык порождается грамматикой G({0},{S,A},{SAAA, AAAA |0}, S)? Правильно ли Ваша программа работает на этом примере? Если нет – доработайте программу.
Разрешает ли Ваша программа использовать в исходной грамматике пустые правила? Если нет – доработайте программу.

Дополнительная информация

зачет
Теория языков программирования и методы трансляции. Лабораторная работа № 1 Генерация цепочек языка. Для всех вариантов
Для всех вариантов Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику или вводить свою с клавиату
User dinapunsh : 18 ноября 2019
130 руб.
Теория языков программирования и методы трансляции. Лабораторная работа № 1 Генерация цепочек языка. Для всех вариантов
Теория языков программирования и методы трансляции. Лабораторная работа №1. Генерация цепочек языка. Для всех вариантов.
Лабораторная работа № 1 Генерация цепочек языка Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматик
User nik200511 : 29 декабря 2015
36 руб.
Лабораторная работа №1 по дисциплине: Теория языков программирования и методы трансляции. Тема. Генерация цепочек языка.
Лабораторная работа No 1 Генерация цепочек языка Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматик
User Udacha2013 : 31 октября 2015
250 руб.
Лабораторная работа № 1 по дисциплине: "Теория языков программирования и методы трансляции" Тема: "Генерация цепочек языка". Вариант № 1
Содержание Лабораторная работа No 1 Генерация цепочек языка 1 СОДЕРЖАНИЕ 2 1. ПОСТАНОВКА ЗАДАЧИ 3 2. ОПИСАНИЕ ВХОДНЫХ ДАННЫХ ПРОГРАММЫ И ЕЕ РЕЗУЛЬТАТОВ 3 3. ОПИСАНИЕ ОСНОВНЫХ ПЕРЕМЕННЫХ, БЛОКОВ И ПОДПРОГРАММ 8 4. АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ 10 5. ТЕКСТ ПРОГРАММЫ 10 6. РЕЗУЛЬТАТЫ РАБОТЫ 21 7. КОНТРОЛЬНЫЕ ВОПРОСЫ 22 1. Постановка задачи Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВС
User xtrail : 9 апреля 2013
350 руб.
Лабораторная работа 1 По дисциплине: Теория языков программирования и методы трансляции. Тема: Генерация цепочек языка. Вариант 3
Лабораторная работа No 1 Генерация цепочек языка Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику
User alexadubinina : 20 ноября 2024
400 руб.
Стратоплан для космолета
В 20-е годы мир переживал своего рода космический бум. Один за другим выходили романы о межпланетных путешествиях (вспомните хотябы "Аэлиту" А. Толстого), возникали общества исследователей других планет, в газетах появлялись сенсационные известия известия о таинственных световых сигналах, якобы присланных с Марса, о пришедших ниоткуда радиособщениях, никак не поддающихся расшифровке. Во многих странах инженеры и изобретатели принялись эксперементировать с ракетными двигателями, работа
User GnobYTEL : 16 сентября 2012
20 руб.
Приборы СВЧ и оптического диапазона. Контрольная работа №2. Вариант №19. МБТ/МБВ
Тема: «Выбор диодов СВЧ для конкретного применения» Выполнить: 1. Указать выбранные типы, обеспечивающие лучшее качество работы, и указать название, автора и страницы справочника. 2. Указать функциональное назначение выбранных типов диодов. 3. Привести параметры: а) характеризующие качество работы; б) номинальные электрические; в) предельные эксплуатационные данные; г) параметры эквивалентной схемы. 4. Привести вид и размеры корпуса. Исходные данные: Параметрический, Переключательный, Генерато
User sanco25 : 24 апреля 2016
99 руб.
Приборы СВЧ и оптического диапазона. Контрольная работа №2. Вариант №19. МБТ/МБВ
Разработка информационного обеспечения по допечатной подготовке и графическому дизайну
СОДЕРЖАНИЕ ВВЕДЕНИЕ 1 Анализ программного обеспечения 1.1 Виды рекламно-полиграфической продукции 1.2 Векторный графический редактор CorelDRAW 1.3 Векторный графический редактор Adobe Illustrator 1.4 Программа вёрстки Adobe InDesign 2 Полиграфический дизайн 2.1 Основные этапы разработки дизайн-проекта в полиграфии 2.2 Дизайн книжной продукции 2.3 Дизайн журнальной продукции 2.3.1 Строение журнала 2.3.2 Особенности оформления 2.3.3Верстка с иллюстрациями 3 Макетирование и верстка 3.1 Макетирован
User вин : 6 ноября 2017
800 руб.
Разработка информационного обеспечения по допечатной подготовке и графическому дизайну
Анализ финансового состояния предприятия с целью прогнозирования вероятности банкротства на примере ОАО "Нептун"
Введение Банкротство – один из основных механизмов развитой и нормально функционирующей рыночной экономики. При этом, если юридическая сторона банкротства постоянно совершенствуется, набирая силу, то организации бухгалтерского учета и формированию отчетности несостоятельных предприятий до настоящего времени не уделялось должного внимания. Неразработанность вопросов учета и формирования отчетности при ликвидации предприятий остается острой проблемой, тормозящей работу специалистов. Востребованн
User Lokard : 11 ноября 2013
15 руб.
up Наверх