Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Без вариантов

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

material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon Lab2.exe
material.view.file_icon Lab2.ilk
material.view.file_icon Lab2.pdb
material.view.file_icon
material.view.file_icon
material.view.file_icon BuildLog.htm
material.view.file_icon Lab2.exe.embed.manifest
material.view.file_icon Lab2.exe.embed.manifest.res
material.view.file_icon Lab2.exe.intermediate.manifest
material.view.file_icon main.obj
material.view.file_icon mt.dep
material.view.file_icon vc90.idb
material.view.file_icon vc90.pdb
material.view.file_icon Lab2.vcproj
material.view.file_icon Lab2.vcproj.SYSTEMNIK.limited.user
material.view.file_icon main.cpp
material.view.file_icon main.h
material.view.file_icon
material.view.file_icon BuildLog.htm
material.view.file_icon Lab2.exe.intermediate.manifest
material.view.file_icon main.obj
material.view.file_icon mt.dep
material.view.file_icon vc90.idb
material.view.file_icon vc90.pdb
material.view.file_icon Lab2.ncb
material.view.file_icon Lab2.sln
material.view.file_icon
material.view.file_icon Lab2.exe
material.view.file_icon Lab2.pdb
material.view.file_icon main.cpp
material.view.file_icon Лабораторная работа 2 - ответ на замечание.docx
material.view.file_icon Лабораторная работа 2.exe
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon Lab3.exe
material.view.file_icon Lab3.ilk
material.view.file_icon Lab3.pdb
material.view.file_icon
material.view.file_icon
material.view.file_icon BuildLog.htm
material.view.file_icon Lab3.exe.embed.manifest
material.view.file_icon Lab3.exe.embed.manifest.res
material.view.file_icon Lab3.exe.intermediate.manifest
material.view.file_icon main.obj
material.view.file_icon mt.dep
material.view.file_icon vc90.idb
material.view.file_icon vc90.pdb
material.view.file_icon Lab3.vcproj
material.view.file_icon Lab3.vcproj.SYSTEMNIK.limited.user
material.view.file_icon main.cpp
material.view.file_icon main.h
material.view.file_icon
material.view.file_icon BuildLog.htm
material.view.file_icon Lab3.exe.intermediate.manifest
material.view.file_icon main.obj
material.view.file_icon mt.dep
material.view.file_icon vc90.idb
material.view.file_icon vc90.pdb
material.view.file_icon Lab3.ncb
material.view.file_icon Lab3.sln
material.view.file_icon
material.view.file_icon Lab3.exe
material.view.file_icon Lab3.pdb
material.view.file_icon main.cpp
material.view.file_icon Лабораторная работа 3 - ответ на замечание.docx
material.view.file_icon Лабораторная работа 3.exe
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon Lab1.exe.embed.manifest
material.view.file_icon Lab1.exe.embed.manifest.res
material.view.file_icon Lab1.exe.intermediate.manifest
material.view.file_icon main.obj
material.view.file_icon mt.dep
material.view.file_icon vc90.idb
material.view.file_icon vc90.pdb
material.view.file_icon grammar.txt
material.view.file_icon Lab1.vcproj
material.view.file_icon Lab1.vcproj.SYSTEMNIK.limited.user
material.view.file_icon main.cpp
material.view.file_icon main.h
material.view.file_icon
material.view.file_icon Lab1.exe.intermediate.manifest
material.view.file_icon main.obj
material.view.file_icon mt.dep
material.view.file_icon vc90.idb
material.view.file_icon vc90.pdb
material.view.file_icon Lab1.ncb
material.view.file_icon Lab1.sln
material.view.file_icon
material.view.file_icon Lab1.exe
material.view.file_icon Lab1.pdb
material.view.file_icon main.cpp
material.view.file_icon Лабораторная работа 1.doc
material.view.file_icon Лабораторная работа 1.exe
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
  • Microsoft Word
  • Программа для просмотра текстовых файлов

Описание

Лабораторная работа 1
Генерация цепочек языка

ЗАДАНИЕ:
Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику или вводить свою с клавиатуры.
На вход программы подаётся КС-грамматика (терминальный и нетерминальный алфавиты, целевой символ, правила вывода), задаётся диапазон длин цепочек, указывается тип вывода (левосторонний или правосторонний).
Рекомендуется для ввода исходных данных использовать соответствующую форму. При вводе правил грамматики не рекомендуется предоставлять пользователю излишнюю свободу действий, например, удобнее запретить ввод в левой части правил более чем одного нетерминального символа, чем проверять введённые правила на соответствие контекстно-свободному типу.
На выходе должен быть список построенных цепочек. Все цепочки в списке должны быть различны. При получении одинаковых цепочек (разными способами) их следует сохранять в списке выводимых цепочек только в случае выполнения дополнительного задания.
Проверить программу на примерах из лекционного курса и на заданиях из контрольных вопросов к теоретической части.
Дополнительно: Дополнить предыдущую программу таким образом, чтобы для одной или нескольких цепочек (цепочки выбирает пользователь из числа построенных на предыдущем этапе работы) строилось дерево вывода, т.е. была структурно представлена последовательность правил, использованных при построении цепочки.

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

2.Используется ли при генерации цепочек рекурсия? Если да, то как ограничена её глубина?

3.Какой язык порождается грамматикой G({0},{S,A},{SAAA, AAAA |0}, S)? Правильно ли Ваша программа работает на этом примере? Если нет – доработайте программу.

4.Разрешает ли Ваша программа использовать в исходной грамматике пустые правила? Если нет – доработайте программу.

=============================================

Лабораторная работа 2
Моделирование работы ДКА

Моделирование работы ДКА
Пусть регулярный язык задаётся конечным автоматом – ДКА (теоретический материал разделов 1.5, 2.2). Написать программу, которая будет проверять по заданному автомату вводимую цепочку и делать вывод о том, принадлежит ли она рассматриваемому регулярному языку. В случае отрицательного ответа необходимо давать пояснение, по какой причине цепочка не принадлежит языку – например, “в цепочке присутствуют посторонние символы”, “после прочтения цепочки автомат не пришёл в конечное состояние” и т.п. Исходный автомат вводить с клавиатуры в соответствии с определённым форматом. Ввод цепочек также производить с клавиатуры.
Дополнительно:
Предоставить пользователю возможность не только вводить данные с клавиатуры, но и загружать автомат из файла (выбор – в соответствующем пункте меню или нажатием кнопки в исходном окне программы). При этом следует накладывать определённые ограничения на формат файла и производить соответствующие проверки во избежание загрузки некорректных данных.
Также по желанию пользователя результаты помимо вывода на экран сохранять в файле. Выбор – аналогично загрузке данных.

1.Контрольные вопросы:
Как поведёт себя программа, если при вводе таблицы переходов ДКА сделать (случайно или преднамеренно) ошибку – например, ввести несуществующее состояние?

2.Все ли ячейки таблицы переходов исходного ДКА обязательно должны быть заполнены или можно использовать неполностью определённый ДКА?

3.В каком случае ДКА распознаёт пустую цепочку как цепочку языка?

=============================================

Лабораторная работа 3
Перевод с помощью МП-преобразователя

Перевод с помощью МП-преобразователя
Пусть дан преобразователь с магазинной памятью; написать программу, которая будет выполнять перевод цепочек с одного языка на другой с помощью заданного преобразователя (теоретический материал раздела 4.2). При невозможности выполнить перевод (цепочка не принадлежит исходному языку) необходимо выводить на экран соответствующее сообщение.
Исходный преобразователь вводить с клавиатуры в соответствии с определённым форматом. Ввод цепочек также производить с клавиатуры, выполняя его до тех пор, пока не возникнет желание закончить работу. Процесс перевода цепочки в виде последовательной смены конфигураций отображать на экране.
Рекомендуется за основу взять программу лабораторной работы No3, дополнив исходные данные выходным алфавитом, функцию переходов – в соответствии с определением преобразователя, а конфигурации – выходными цепочками.
Проверить работу программы на примерах из лекций и задачах из контрольных вопросов.
Дополнительно:
Предоставить пользователю возможность не только вводить данные с клавиатуры, но и загружать преобразователь из файла (аналогично лабораторной работе No2).

Контрольные вопросы:
1.Как поведёт себя преобразователь, если поданная на его вход цепочка не может быть распознана (не принадлежит к заданному языку)?

2.Как соотносятся алфавиты исходного языка и того, на который выполняется перевод (должны совпадать, различаться...)? Поясните ответ.

3.Как поведёт себя Ваша программа при некорректном вводе? Например, функция переходов задана не в том формате, определена не для того количества параметров, использует алфавит, отличный от заданных...

=============================================

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

Проверил(а): Бах Ольга Анатольевна
Оценка: Отлично
Дата оценки: 25.12.2022г.

Помогу с вашим вариантом, другой дисциплиной, онлайн-тестом, либо сессией под ключ.
E-mail: sneroy20@gmail.com
E-mail: ego178@mail.ru
Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Без вариантов
Лабораторная работа 1 Генерация цепочек языка Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматик
User IT-STUDHELP : 25 декабря 2022
1500 руб.
promo
Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Вариант №3
Лабораторная работа 1 Генерация цепочек языка ЗАДАНИЕ Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю
User IT-STUDHELP : 25 декабря 2022
1500 руб.
promo
Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Вариант №09
Лабораторная работа 1 Генерация цепочек языка Постановка задачи: Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в пр
User IT-STUDHELP : 6 июля 2023
1500 руб.
Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Вариант №09 promo
Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Вариант №10
Лабораторная работа 1 Генерация цепочек языка Постановка задачи Тема: «Генерация цепочек языка». Пусть язык задан контекстно-свободной грамматикой. Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Рекомендуется для ввода исходных данных использовать соответствующую форму. При ввод
User IT-STUDHELP : 6 июля 2023
1500 руб.
Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Вариант №10 promo
Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Вариант №04
Лабораторная работа 1 Постановка задачи Тема: «Генерация цепочек языка». Пусть язык задан контекстно-свободной грамматикой. Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Рекомендуется для ввода исходных данных использовать соответствующую форму. При вводе правил грамматики не р
User IT-STUDHELP : 6 июля 2023
1500 руб.
promo
Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Вариант №10*
Лабораторная работа 1 Генерация цепочек языка Постановка задачи: Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в пр
User IT-STUDHELP : 6 июля 2023
1500 руб.
Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Вариант №10* promo
Теория языков программирования и методы трансляции. Лабораторная работа №1
Теория языков программирования и методы трансляции_Лабораторная работа 1 Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
User bvv1975 : 26 января 2016
20 руб.
Теория языков программирования и методы трансляции. Лабораторная работа №1.
Лабораторная работа № 1 Генерация цепочек языка Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику
User zhekaersh : 20 февраля 2015
70 руб.
Политические взгляды Ж.-Ж. Руссо
Политические взгляды Ж Ж. Руссо Содержание: Введение I. Ж Ж.Руссо о свободе и неравенстве II. Руссо III. Ж Ж Руссо о законодательной и исполнительной власти Заключение Литература Введение Среди выдающихся мыслителей кануна французской буржуазной революции 1789-1794 годов особое место занимает Жан-Жак Руссо. Просветитель и романтик, индивидуалист и коллективист, Руссо стал объектом многих исследований и различных интерпретаций. Являясь выдающимся представителем французского Просвещения XVIII век
User evelin : 21 февраля 2013
5 руб.
Экзаменационная работа по дисциплине: Дискретная математика. Билет №18
Билет №18 1) Комбинаторный принцип сложения для пересекающихся множеств, его отличие от случая непересекающихся множеств. Формулировка принципа включения и исключения и иллюстрация его графически; привести пример использования. 2) Графы – основные понятия, способы представления. Как связаны графы с бинарными отношениями? Изобразить в виде графа соответственно рефлексивное, симметричное, антисимметричное отношения, эквивалентность. 3) Используя принцип математической индукции, доказать нераве
User Учеба "Под ключ" : 2 октября 2017
600 руб.
Экзаменационная работа по дисциплине: Дискретная математика. Билет №18 promo
Рамки для пояснительных записок
Рамки в формате Word. 40 и 50 мм нижний штамп
User клоун : 6 июня 2008
Рамки для пояснительных записок
Проект организации ремонта и технического обслуживания МТП в СПК «Чекрушанский» Тарского района Омской области с разработкой приспособления для вырезания прокладок
Дипломный проект выполнен на тему: «Проект организации ремонта и технического обслуживания МТП в СПК «Чекрушанский» Тарского района Омской области с разработкой приспособления для вырезания прокладок». Дипломный проект изложен на 85 страницах, графическая часть состоит из 9 листов формата А1, количество использованной литературы -24 источников. В первой главе произведён анализ хозяйственной деятельности СПК «Чекрушанский». Во второй главе - технологической части проекта предста
User Chip555 : 31 мая 2013
up Наверх