Лабораторная работа № 5 по предмету: "Теория языков программирования и методы трансляции". Вариант № 1
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
Содержание
1. ПОСТАНОВКА ЗАДАЧИ 3
2. ОПИСАНИЕ ВХОДНЫХ ДАННЫХ ПРОГРАММЫ И ЕЕ РЕЗУЛЬТАТОВ 3
3. ОПИСАНИЕ ОСНОВНЫХ ПЕРЕМЕННЫХ, БЛОКОВ И ПОДПРОГРАММ 6
4. АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ 8
5. ТЕКСТ ПРОГРАММЫ 8
6. КОНТРОЛЬНЫЕ ВОПРОСЫ 41
1. Постановка задачи
Пусть дан преобразователь с магазинной памятью; написать программу, которая будет выполнять перевод цепочек с одного языка на другой с помощью заданного преобразователя (теоретический материал раздела 4.2). При невозможности выполнить перевод (цепочка не принадлежит исходному языку) необходимо выводить на экран соответствующее сообщение.
Исходный преобразователь вводить с клавиатуры в соответствии с определённым форматом. Ввод цепочек также производить с клавиатуры, выполняя его до тех пор, пока не возникнет желание закончить работу. Процесс перевода цепочки в виде последовательной смены конфигураций отображать на экране.
На вход программы подаётся ДМП-преобразователь (множество состояний, алфавиты входного и выходного языков, алфавит магазина, начальное состояние, начальное содержимое стека, множество заключительных состояний, функция переходов в виде списка правил) и проверяемая цепочка символов (аналогично лаб. раб. №3).
Рекомендуется за основу взять программу лабораторной работы №3, дополнив исходные данные выходным алфавитом, функцию переходов – в соответствии с определением преобразователя, а конфигурации – выходными цепочками.
Выход: отображение на экране процесса перевода цепочки в виде последовательной смены конфигураций преобразователя, результат перевода – полученная цепочка.
Проверить работу программы на примерах из лекций и задачах из контрольных вопросов.
Дополнительно:
Предоставить пользователю возможность не только вводить данные с клавиатуры, но и загружать преобразователь из файла (аналогично лабораторной работе №2).
1. Постановка задачи
Пусть дана схема синтаксически управляемого перевода (теоретический материал раздела 4.2). Написать программу, которая будет выполнять перевод цепочек с одного языка на другой в соответствии с этой схемой. При невозможности выполнить перевод (цепочка не строится по правилам входной грамматики) необходимо выводить на экран соответствующее сообщение.
Правила СУ-схемы считывать из файла (предоставив пользователю возможность редактировать их на экране); цепочки вводить с клавиатуры, процесс перевода отображать на экране. Предусмотреть возможность выполнения перевода любого количества цепочек для заданной схемы.
На вход программы подаётся схема СУ-перевода (алфавиты входного и выходного языков, множество нетерминальных символов, правила вывода, целевой символ) и цепочка языка, которую необходимо перевести (может вводиться многократно, т.е. возможно перевести любое количество цепочек). Цепочка может быть и не относящейся к исходному языку…
Работа программы может быть организована по-разному. В качестве основного задания допустимо использовать материалы лабораторной работы №1. На первом этапе в соответствии с входной грамматикой схемы СУ-перевода попытаться сгенерировать цепочку, поданную на вход (поскольку её длина известна, можно генерировать только цепочки этой длины). При генерации фиксировать номера использованных правил. В случае успешной генерации выполнить второй этап – применяя номера использованных правил, получать одновременно входную и выходную цепочки по правилу вывода и соответствующему ему элементу перевода.
На выходе – отображение процесса перевода и результирующая цепочка языка.
Контрольные вопросы:
1. Как поведёт себя преобразователь, если поданная на его вход цепочка не может быть распознана (не принадлежит к заданному языку)?
2. Как соотносятся алфавиты исходного языка и того, на который выполняется перевод (должны совпадать, различаться…)? Поясните ответ.
3. Как поведёт себя Ваша программа при некорректном вводе? Например, функция переходов задана не в том формате, определена не для того количества параметров, использует алфавит, отличный от заданных…
1. ПОСТАНОВКА ЗАДАЧИ 3
2. ОПИСАНИЕ ВХОДНЫХ ДАННЫХ ПРОГРАММЫ И ЕЕ РЕЗУЛЬТАТОВ 3
3. ОПИСАНИЕ ОСНОВНЫХ ПЕРЕМЕННЫХ, БЛОКОВ И ПОДПРОГРАММ 6
4. АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ 8
5. ТЕКСТ ПРОГРАММЫ 8
6. КОНТРОЛЬНЫЕ ВОПРОСЫ 41
1. Постановка задачи
Пусть дан преобразователь с магазинной памятью; написать программу, которая будет выполнять перевод цепочек с одного языка на другой с помощью заданного преобразователя (теоретический материал раздела 4.2). При невозможности выполнить перевод (цепочка не принадлежит исходному языку) необходимо выводить на экран соответствующее сообщение.
Исходный преобразователь вводить с клавиатуры в соответствии с определённым форматом. Ввод цепочек также производить с клавиатуры, выполняя его до тех пор, пока не возникнет желание закончить работу. Процесс перевода цепочки в виде последовательной смены конфигураций отображать на экране.
На вход программы подаётся ДМП-преобразователь (множество состояний, алфавиты входного и выходного языков, алфавит магазина, начальное состояние, начальное содержимое стека, множество заключительных состояний, функция переходов в виде списка правил) и проверяемая цепочка символов (аналогично лаб. раб. №3).
Рекомендуется за основу взять программу лабораторной работы №3, дополнив исходные данные выходным алфавитом, функцию переходов – в соответствии с определением преобразователя, а конфигурации – выходными цепочками.
Выход: отображение на экране процесса перевода цепочки в виде последовательной смены конфигураций преобразователя, результат перевода – полученная цепочка.
Проверить работу программы на примерах из лекций и задачах из контрольных вопросов.
Дополнительно:
Предоставить пользователю возможность не только вводить данные с клавиатуры, но и загружать преобразователь из файла (аналогично лабораторной работе №2).
1. Постановка задачи
Пусть дана схема синтаксически управляемого перевода (теоретический материал раздела 4.2). Написать программу, которая будет выполнять перевод цепочек с одного языка на другой в соответствии с этой схемой. При невозможности выполнить перевод (цепочка не строится по правилам входной грамматики) необходимо выводить на экран соответствующее сообщение.
Правила СУ-схемы считывать из файла (предоставив пользователю возможность редактировать их на экране); цепочки вводить с клавиатуры, процесс перевода отображать на экране. Предусмотреть возможность выполнения перевода любого количества цепочек для заданной схемы.
На вход программы подаётся схема СУ-перевода (алфавиты входного и выходного языков, множество нетерминальных символов, правила вывода, целевой символ) и цепочка языка, которую необходимо перевести (может вводиться многократно, т.е. возможно перевести любое количество цепочек). Цепочка может быть и не относящейся к исходному языку…
Работа программы может быть организована по-разному. В качестве основного задания допустимо использовать материалы лабораторной работы №1. На первом этапе в соответствии с входной грамматикой схемы СУ-перевода попытаться сгенерировать цепочку, поданную на вход (поскольку её длина известна, можно генерировать только цепочки этой длины). При генерации фиксировать номера использованных правил. В случае успешной генерации выполнить второй этап – применяя номера использованных правил, получать одновременно входную и выходную цепочки по правилу вывода и соответствующему ему элементу перевода.
На выходе – отображение процесса перевода и результирующая цепочка языка.
Контрольные вопросы:
1. Как поведёт себя преобразователь, если поданная на его вход цепочка не может быть распознана (не принадлежит к заданному языку)?
2. Как соотносятся алфавиты исходного языка и того, на который выполняется перевод (должны совпадать, различаться…)? Поясните ответ.
3. Как поведёт себя Ваша программа при некорректном вводе? Например, функция переходов задана не в том формате, определена не для того количества параметров, использует алфавит, отличный от заданных…
Дополнительная информация
В архиве: отчет+программа, используемая в данной работе.
Отличная работа!
Специальность ПОВТиАС (ПОиВТ)
Отличная работа!
Специальность ПОВТиАС (ПОиВТ)
Похожие материалы
Лабораторная работа № 5 Предмет : «Теория языков программирования и методы трансляции» вариант 1
Araxic
: 3 февраля 2017
Задание
Лабораторная работа № 5
1. ПОСТАНОВКА ЗАДАЧИ
Перевод с помощью МП-преобразователя
Пусть дан преобразователь с магазинной памятью; написать программу, которая будет выполнять перевод цепочек с одного языка на другой с помощью заданного преобразователя (теоретический материал раздела 4.2). При невозможности выполнить перевод (цепочка не принадлежит исходному языку) необходимо выводить на экран соответствующее сообщение.
Исходный преобразователь вводит
100 руб.
Теория языков программирования и методы трансляции
Илья272
: 5 ноября 2023
Лабораторные работы основаны на лекционном материале; каждая выполняется после изучения соответствующего теоретического раздела. До выполнения лабораторной работы нужно внимательно разобраться с примерами, ответить на контрольные вопросы изученного теоретического раздела, а также решить задачи, предлагаемые в составе контрольных вопросов.
Каждая работа снабжена методическими указаниями, сопровождающими текст задания. Рекомендуется внимательно читать задание и выполнять работу в строгом соответс
1300 руб.
Теория языков программирования и методы трансляции
piligrim-24
: 11 апреля 2012
Билет No1
1) Классификация грамматик и языков по Хомскому. Проиллюстрировать на примерах (примеры должны быть свои).
2) Нисходящий распознаватель языков с возвратами. Алгоритм распознавателя с подбором альтернатив. Проиллюстрировать на примере (пример должен быть свой).
3) Построить детерминированный автомат с магазинной памятью P (с опустошением стека), допускающий язык L(P) = {a n b n c 2k k > 0, n 0}. Построить КС-грамматику для задания этого же языка.
50 руб.
Теория языков программирования и методы трансляции
piligrim-24
: 3 марта 2012
Лабораторная работа № 3
По дисциплине «Теория языков программирования и методы трансляции»
Моделирование работы МПА
Пусть контекстно-свободный язык задаётся детерминированным автоматом с магазинной памятью – ДМПА (теоретический материал раздела 3.1). Написать программу, которая будет проверять для вводимой цепочки, принадлежит ли она заданному КС-языку. В случае отрицательного ответа необходимо давать пояснение, по какой причине цепочка не принадлежит языку (аналогично лаб. раб №2) Исходный авт
50 руб.
Теория языков программирования и методы трансляции. Курсовая работа. Вариант 1.
nik200511
: 7 декабря 2018
Написать программу для автоматического построения детерминированного конечного автомата (ДКА) по словесному описанию языка.
Вход программы: алфавит языка, обязательная начальная подцепочка, кратность длины всех цепочек языка, цепочки для распознавания.
Выход: построенный ДКА (все 5 элементов), результат проверки цепочек.
Подробно:
Язык задан своим алфавитом, обязательной начальной цепочкой и указанием кратности длины всех цепочек языка. В начальной цепочк
144 руб.
Теория языков программирования и методы трансляции. Контрольная работа. Вариант №1
djigorfan
: 14 апреля 2013
Задания:
No1 Пусть регулярный язык задан своим описанием:
Множество всех цепочек из {0,1,a}*, которые содержат подцепочку ’01a’ и чётное количество единиц. Например, ‘01a1’, ‘101a’, ‘101a101’ и т.п.
Построить регулярное выражение, задающее этот язык.
No2 Построить регулярную грамматику, задающую язык из задачи No1.
No3 Построить КС-грамматику, задающую язык из задачи No1. Сгенерировать две цепочки языка по построенной грамматике. Процесс генерации цепочек языка записать в виде цепочки вывода, ук
600 руб.
Лабораторные работы по предмету : «Теория языков программирования и методы трансляции» (№№1-5). Вариант № 1
xtrail
: 9 апреля 2013
Лабораторная работа № 1 Генерация цепочек языка
1. Постановка задачи
Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
Предусмотреть возможность выбора пользователю – использовать заданную в
1650 руб.
Теория языков программирования и методы трансляции билет 11
09809845
: 4 ноября 2022
Билет No 11
Факультет ИВТ (ДО) Курс 4 Семестр 7
Дисциплина Теория языков программирования и методы трансляции
1) Автоматные грамматики – определение, способ приведения регулярной грамматики к автоматному виду. Проиллюстрировать на примере (пример должен быть свой).
2) Схема работы компилятора, основные этапы компиляции. Краткая характеристика основных фаз компиляции.
3) Пусть дана грамматика для арифметических выражений: G ({+,–,/,*,a,b,(,)}, {S,T,E}, P, S), где правила P имеют вид:
S S+TS–TT
800 руб.
Другие работы
Модели жизненного цикла автоматизированных информационных систем
alfFRED
: 5 октября 2013
Введение
Глава 1. Модели жизненного цикла автоматизированных информационных систем
1.1 Жизненный цикл АИС
1.2 Процессы жизненного цикла АИС
1.3 Основные процессы жизненного цикла АИС
1.4 Вспомогательные процессы жизненного цикла АИС
1.5 Организационные процессы жизненного цикла АИС
1.6 Модели жизненного цикла автоматизированных информационных систем
1.7 Каскадная модель
1.8 Спиральная модель
Глава 2. СASE-технологии
2.1 Основные методологии проектирования автоматизированных систем на
10 руб.
LC-автогенератор с трансформаторной обратной связью
kombat64
: 15 сентября 2009
ОТЦ. Лаораторная работа №2 Вариант 5. (2й семестр)
Изучение и компьютерное моделирование работы LC-автогенератора с трансформаторной обратной связью.
В работе необходимо исследовать условия самовозбуждения автогенератора, а также научиться определять амплитуду напряжения на выходе автогенератора в стационарном режиме.
50 руб.
Контрольная работа по дисциплине: Экология. Вариант №5
hellofromalexey
: 12 сентября 2021
6. Биогенное, косное и биокосное вещества биосферы
89. Урбанизация
Задача No 2 .
Сделать оценку качества поверхностного источника питьевого водоснабжения населенного пункта по степени опасности загрязнения химическими веществами. Привести наиболее распространенные причины загрязнения поверхностных вод, а также методы снижения этого загрязнения.
Исходные данные
Таблица 1.
Вещество Содержание вещества, мг/л.
1. Свинец 0,15
2. Нитраты 30
3. Кадмий 0,07
Задача No4
Озеро используется как рыбохозя
250 руб.
Статистика железнодорожного транспорта
alfFRED
: 8 августа 2013
Железные дороги являются самым крупным грузоперевозчиком страны. На их долю приходится около 30% общенационального грузооборота в тонно-км. С точки зрения затрат железные дороги – наиболее рентабельный вид транспорта для перевозок вагонных партий грузом навалом – каменного угля, руды, песка, сельскохозяйственной и лесной продукции - на дальние расстояния. Недавно железные дороги начали увеличивать число услуг с учетом специфики клиентов. Было создано новое оборудование для более эффективной груз
10 руб.