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

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

material.view.file_icon
material.view.file_icon
material.view.file_icon Project1.cfg
material.view.file_icon Project1.dof
material.view.file_icon Project1.dpr
material.view.file_icon Project1.exe
material.view.file_icon Project1.res
material.view.file_icon Unit1.dcu
material.view.file_icon Unit1.ddp
material.view.file_icon Unit1.dfm
material.view.file_icon Unit1.pas
material.view.file_icon Unit1.~ddp
material.view.file_icon Unit1.~dfm
material.view.file_icon Unit1.~pas
material.view.file_icon Отчет.doc
material.view.file_icon
material.view.file_icon f1.txt
material.view.file_icon f2.txt
material.view.file_icon f3.txt
material.view.file_icon Project1.cfg
material.view.file_icon Project1.dof
material.view.file_icon Project1.dpr
material.view.file_icon Project1.exe
material.view.file_icon Project1.res
material.view.file_icon Unit1.dcu
material.view.file_icon Unit1.ddp
material.view.file_icon Unit1.dfm
material.view.file_icon Unit1.pas
material.view.file_icon Unit1.~ddp
material.view.file_icon Unit1.~dfm
material.view.file_icon Unit1.~pas
material.view.file_icon Отчет.doc
material.view.file_icon
material.view.file_icon Project1.cfg
material.view.file_icon Project1.dof
material.view.file_icon Project1.dpr
material.view.file_icon Project1.exe
material.view.file_icon Project1.res
material.view.file_icon Unit1.dcu
material.view.file_icon Unit1.ddp
material.view.file_icon Unit1.dfm
material.view.file_icon Unit1.pas
material.view.file_icon Unit1.~ddp
material.view.file_icon Unit1.~dfm
material.view.file_icon Unit1.~pas
material.view.file_icon Отчет.doc
material.view.file_icon
material.view.file_icon language1.txt
material.view.file_icon language2.txt
material.view.file_icon language3.txt
material.view.file_icon Project1.cfg
material.view.file_icon Project1.dof
material.view.file_icon Project1.dpr
material.view.file_icon Project1.exe
material.view.file_icon Project1.res
material.view.file_icon Unit1.dcu
material.view.file_icon Unit1.ddp
material.view.file_icon Unit1.dfm
material.view.file_icon Unit1.pas
material.view.file_icon Unit1.~ddp
material.view.file_icon Unit1.~dfm
material.view.file_icon Unit1.~pas
material.view.file_icon Отчет.doc
material.view.file_icon
material.view.file_icon Project1.cfg
material.view.file_icon Project1.dof
material.view.file_icon Project1.dpr
material.view.file_icon Project1.exe
material.view.file_icon Project1.res
material.view.file_icon Unit1.dcu
material.view.file_icon Unit1.ddp
material.view.file_icon Unit1.dfm
material.view.file_icon Unit1.pas
material.view.file_icon Unit1.~ddp
material.view.file_icon Unit1.~dfm
material.view.file_icon Unit1.~pas
material.view.file_icon Отчет.doc
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
  • Microsoft Word
  • Программа для просмотра текстовых файлов

Описание

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

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

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

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

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

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

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

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

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

Внимание!!! В ходе проверки цепочки ДМПА может проделывать пустые такты не только после прочтения всей цепочки, но и в её середине. Внимательно прочтите соответствующий раздел лекций 3.1.

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

1. Обязательно ли должна быть задана функция переходов для всех возможных сочетаний «состояние, входной символ, символ стека»? Как поведёт себя автомат, если при проверке цепочки встретит неизвестную комбинацию?

2. В каком случае цепочка считается допущенной автоматом, а в каком – нет?

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

Лабораторная работа No4
Перевод с помощью СУ-схемы
Пусть дана схема синтаксически управляемого перевода (теоретический материал раздела 4.2). Написать программу, которая будет выполнять перевод цепочек с одного языка на другой в соответствии с этой схемой. При невозможности выполнить перевод (цепочка не строится по правилам входной грамматики) необходимо выводить на экран соответствующее сообщение.

Правила СУ-схемы считывать из файла (предоставив пользователю возможность редактировать их на экране); цепочки вводить с клавиатуры, процесс перевода отображать на экране. Предусмотреть возможность выполнения перевода любого количества цепочек для заданной схемы.

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

Работа программы может быть организована по-разному. В качестве основного задания допустимо использовать материалы лабораторной работы No1. На первом этапе в соответствии с входной грамматикой схемы СУ-перевода попытаться сгенерировать цепочку, поданную на вход (поскольку её длина известна, можно генерировать только цепочки этой длины). При генерации фиксировать номера использованных правил. В случае успешной генерации выполнить второй этап – применяя номера использованных правил, получать одновременно входную и выходную цепочки по правилу вывода и соответствующему ему элементу перевода.

На выходе – отображение процесса перевода и результирующая цепочка языка.

1. В чём отличие работы схемы СУ-перевода от порождения цепочек языка при помощи обычной грамматики?
2. Постройте схему СУ-перевода, которая будет переводить цепочки из алфавита {a,b,+,*} из префиксной записи в постфиксную (в том же алфавите). Проверьте работу программы на этой схеме.

Лабораторная работа No5
Перевод с помощью МП-преобразователя
Пусть дан преобразователь с магазинной памятью; написать программу, которая будет выполнять перевод цепочек с одного языка на другой с помощью заданного преобразователя (теоретический материал раздела 4.2). При невозможности выполнить перевод (цепочка не принадлежит исходному языку) необходимо выводить на экран соответствующее сообщение.

Исходный преобразователь вводить с клавиатуры в соответствии с определённым форматом. Ввод цепочек также производить с клавиатуры, выполняя его до тех пор, пока не возникнет желание закончить работу. Процесс перевода цепочки в виде последовательной смены конфигураций отображать на экране.

На вход программы подаётся ДМП-преобразователь (множество состояний, алфавиты входного и выходного языков, алфавит магазина, начальное состояние, начальное содержимое стека, множество заключительных состояний, функция переходов в виде списка правил) и проверяемая цепочка символов (аналогично лаб. раб. No3).

Рекомендуется за основу взять программу лабораторной работы No3, дополнив исходные данные выходным алфавитом, функцию переходов – в соответствии с определением преобразователя, а конфигурации – выходными цепочками.

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

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

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

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

Уважаемый слушатель, дистанционного обучения,
Оценена Ваша работа по предмету: Теория языков программирования и методы трансляции
Вид работы: Лабораторная работа 5
Оценка: Зачет
Дата оценки: 22.10.2016
Рецензия:Уважаемый С*
Теория языков программирования и методы трансляции. Лабораторные работы №1-5. Вариант №7
Лабораторная работа № 1 Генерация цепочек языка Лабораторная работа № 2 Моделирование работы ДКА Лабораторная работа № 3 Моделирование работы МПА Лабораторная работа № 4 Перевод с помощью СУ-схемы Лабораторная работа № 5 Перевод с помощью МП-преобразователя
User ivanPBT22 : 28 мая 2015
250 руб.
Теория языков программирования и методы трансляции. Лабораторная работа №1
Теория языков программирования и методы трансляции_Лабораторная работа 1 Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
User bvv1975 : 26 января 2016
20 руб.
Теория языков программирования и методы трансляции. Лабораторная работа №1.
Лабораторная работа № 1 Генерация цепочек языка Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику
User zhekaersh : 20 февраля 2015
70 руб.
Лабораторные работы №1-5 по дисциплине: Теория языков программирования и методы трансляции. Вариант №1
!СКИДКА! На все свои работы могу предложить скидку до 50%. Для получения скидки напишите мне письмо(выше ссылка "написать") Лабораторная работа №1 Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске прог
User popye : 10 декабря 2015
120 руб.
Лабораторные работы №1-5 по дисциплине: Теория языков программирования и методы трансляции. Вариант №1
Лабораторные работы №№1-5 по дисциплине: Теория языков программирования и методы трансляции. Вариант общий
Лабораторная работа No1 Тема: «Генерация цепочек языка» 1. ПОСТАНОВКА ЗАДАЧИ Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать зад
User Учеба "Под ключ" : 7 августа 2017
1200 руб.
Лабораторные работы №1-5 по дисциплине: Теория языков программирования и методы трансляции. Вариант 05.
Лабораторная работа No1 Задание Генерация цепочек языка Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в программе гра
User freelancer : 18 августа 2016
250 руб.
promo
Лабораторная работа №1 по дисциплине «Теория языков программирования и методы трансляции»
Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику или вводить свою с клавиатуры. На вход программы
User Сергей38 : 26 января 2023
200 руб.
Лабораторная работа №1 по дисциплине «Теория языков программирования и методы трансляции»
Лабораторная работа №1 по дисциплине Теория языков программирования и методы трансляции
Генерация цепочек языка Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику или вводить свою с кла
User Некто : 16 сентября 2018
100 руб.
Аналіз експлуатаційних властивостей самохідних машин (задача № 22)
Виконати розрахунок загальних передаточних чисел трансмісії гусеничного сільськогосподарського трактора на основному тяговому діапазоні і момент інерції маховика двигуна (ДВЗ) за таких даних: 1) експлуатаційна маса трактора 5000 кг; 2) основна коробка швидкостей має 5 передач переднього ходу з розрахунковою тривалістю праці на передачах з першою по п'яту 15%, 25%, 25; 20%; 15%. 3) Діапазон розрахункових робітників швидкостей складає 6…11 км/ч. На тракторі повинен встановлюватися двигун з м
User yura909090 : 25 мая 2012
80 руб.
PR в системе местного самоуправления как механизм интенсификации социокультурного времени
Появляются партии и независимые СМИ. В этих условиях создается ситуация зависимости объединений граждан от государства, но и последнее попадает в зависимость от общества. Теперь при разработке какого-либо решения органы управления должны ориентироваться на рядовых граждан, добиваться их поддержки и одобрения. Это приводит к переходу от централизованного управления к управлению на местном уровне. Роль местного самоуправления существенно возрастает и в ходе экономических реформ.
User evelin : 4 марта 2013
10 руб.
Лабораторная работа по дисциплине: Операционные системы реального времени. Вариант №5
Задание Лабораторная работа по материалу первой главы курса "Процессы и нити". В данной лабораторной работе предлагается разработать систему из двух программ: программа рисования, работающая в графическом режиме с помощью библиотеки wingraph, и запускающее её, а затем управляющее ей консольное приложение. Всё это делается по аналогии с примерами, рассмотренными в лекционном материале. Варианты заданий уточняются ниже. Во всех заданиях движение фигур должно реализовываться отдельными нитями. Реко
User Roma967 : 25 апреля 2016
300 руб.
promo
Обивальный вал маслоизготовителя А1-ОМИ (сборочный чертеж)
Маслоизготовителъ (А1-ОМИ) состоит из собственно маслоизготовителя, в котором происходят непрерывное сбивание сливок, отделение и обработка масляного зерна и удаление пахты; уравнительного бака с поплавковым регулятором уровня, соединенного с винтовым насосом-дозатором для подачи сливок в маслоизготовитель; бака с насосом для сбора и транспортирования пахты; аппарата для дозирования воды (пахты) в масло при его нормализации по содержанию влаги; вакуум-насоса для удаления воздуха из масла, центр
User maobit : 10 мая 2022
390 руб.
Обивальный вал маслоизготовителя А1-ОМИ (сборочный чертеж)
up Наверх