Теория языков программирования и методы трансляции курсовая работа вариант 4
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Программа для просмотра текстовых файлов
- Microsoft Word
Описание
Вариант 4
Написать программу для автоматического построения детерминированного конечного автомата (ДКА), эквивалентного заданной регулярной грамматике.
Вход программы: терминальный и нетерминальный алфавиты грамматики, целевой символ, правила грамматики, цепочки для распознавания.
Выход: построенный ДКА (все 5 элементов), результат проверки цепочек.
Подробно:
Язык задан регулярной грамматикой, причём она может быть не автоматного вида. При написании программы разработчику разрешается выбрать один из двух типов регулярной грамматики (ЛЛ или ПЛ) и следует информировать об этом пользователя. Терминальный алфавит грамматики может включать в себя любые символы, в нетерминальном алфавите могут использоваться заглавные буквы латинского алфавита или (на усмотрение разработчика) слова. Правила задаваемой грамматики должны соответствовать выбранному типу. Для того чтобы в исходной грамматике можно было использовать пустое правило, необходимо предусмотреть поле ввода для символа, которым пользователь может обозначить пустую цепочку.
Программа должна:
1. по заданной регулярной грамматике строить эквивалентный ДКА, распознающий этот же язык, в том виде, как он рассматривался в теории, раздел 2.2.2;
2. с помощью построенного ДКА проверять вводимые пользователем цепочки на их принадлежность этому языку.
ДКА должен распознавать язык, задаваемый исходной грамматикой, т.е. являться эквивалентной конструкцией. Функция переходов ДКА может изображаться в виде таблицы или графа, вариант вида её представления выбирается разработчиком. Для удобства построения автомата рекомендуется предварительно привести заданную грамматику к автоматному виду (в соответствии с лекционным разделом 2.2.1).
При выборе такого способа построения ДКА, когда сначала по заданной грамматике строится эквивалентный НКА, а затем он приводится к детерминированному виду, промежуточный результат в виде НКА необходимо также отображать на экране по просьбе пользователя.
После построения ДКА пользователь может вводить произвольные цепочки для проверки их на принадлежность исходному языку. Разбор цепочек автоматом следует поэтапно отображать на экране в виде последовательной смены конфигураций в соответствии с лабораторной работой No2.
Рассмотрим пример построения ДКА.
Язык задан праволинейной грамматикой: G({a,b,c},{S,A},P,S),
Р: S→aA|bA|cA; А→aS|bS|cS|aab.
Сначала следует привести грамматику к автоматному виду, добавив 2 нетерминала для разделения на символы цепочки ‘aab’. Правила примут вид:
Р`: S→aA|bA|cA; А→aS|bS|cS|aB; B→aC; C→b. Теперь нужно по правилам грамматики построить конечный автомат, в котором состояния будут получены из нетерминалов грамматики, а переходы определяются терминальными символами. Заключительным будет являться то состояние, в которое происходит переход по одному символу (C→b), следовательно, придётся добавить ещё одно состояние D. Функцию переходов сначала будем строить графически:
Как видно из графа переходов, автомат получился недетерминированный (из состояния А есть два перехода по символу ‘a’). Далее можно применить алгоритм преобразования НКА к ДКА, рассмотренный подробно в лекциях, раздел 2.2.2.
Построим таблицу переходов нашего автомата и преобразуем его в ДКА согласно вышеупомянутому алгоритму.
вход Исходную таблицу переходов отделим от остальной части жирной линией.
Для упрощения процесса будем создавать не все возможные сочетания исходных состояний, а только те, которые реально возникают при построении. Сначала занесём в таблицу SB. Затем появляются AC, SD. Состояния исходного автомата B, C, D (выделены синим) оказались недостижимыми. Удалим их.
состояние а b c
S {A} {A} {A}
A {S,B} {S} {S}
B {C} – –
C – {D} –
D – – –
SB B {AC} {A} {A}
AC C {SB} {SD} {S}
SD D {A} {A} {A}
Новые состояния для удобства переобозначим B, C, D. Заключительным состоянием станет состояние D (поскольку в состояние SD входит то состояние D, которое было заключительным в исходном автомате). Новая таблица переходов примет следующий вид:
вход Построение графа переходов по таблице:
состояние a b c
S {A} {A} {A}
A {B} {S} {S}
B {C} {A} {A}
C {B} {D} {S}
D {A} {A} {A}
Написать программу для автоматического построения детерминированного конечного автомата (ДКА), эквивалентного заданной регулярной грамматике.
Вход программы: терминальный и нетерминальный алфавиты грамматики, целевой символ, правила грамматики, цепочки для распознавания.
Выход: построенный ДКА (все 5 элементов), результат проверки цепочек.
Подробно:
Язык задан регулярной грамматикой, причём она может быть не автоматного вида. При написании программы разработчику разрешается выбрать один из двух типов регулярной грамматики (ЛЛ или ПЛ) и следует информировать об этом пользователя. Терминальный алфавит грамматики может включать в себя любые символы, в нетерминальном алфавите могут использоваться заглавные буквы латинского алфавита или (на усмотрение разработчика) слова. Правила задаваемой грамматики должны соответствовать выбранному типу. Для того чтобы в исходной грамматике можно было использовать пустое правило, необходимо предусмотреть поле ввода для символа, которым пользователь может обозначить пустую цепочку.
Программа должна:
1. по заданной регулярной грамматике строить эквивалентный ДКА, распознающий этот же язык, в том виде, как он рассматривался в теории, раздел 2.2.2;
2. с помощью построенного ДКА проверять вводимые пользователем цепочки на их принадлежность этому языку.
ДКА должен распознавать язык, задаваемый исходной грамматикой, т.е. являться эквивалентной конструкцией. Функция переходов ДКА может изображаться в виде таблицы или графа, вариант вида её представления выбирается разработчиком. Для удобства построения автомата рекомендуется предварительно привести заданную грамматику к автоматному виду (в соответствии с лекционным разделом 2.2.1).
При выборе такого способа построения ДКА, когда сначала по заданной грамматике строится эквивалентный НКА, а затем он приводится к детерминированному виду, промежуточный результат в виде НКА необходимо также отображать на экране по просьбе пользователя.
После построения ДКА пользователь может вводить произвольные цепочки для проверки их на принадлежность исходному языку. Разбор цепочек автоматом следует поэтапно отображать на экране в виде последовательной смены конфигураций в соответствии с лабораторной работой No2.
Рассмотрим пример построения ДКА.
Язык задан праволинейной грамматикой: G({a,b,c},{S,A},P,S),
Р: S→aA|bA|cA; А→aS|bS|cS|aab.
Сначала следует привести грамматику к автоматному виду, добавив 2 нетерминала для разделения на символы цепочки ‘aab’. Правила примут вид:
Р`: S→aA|bA|cA; А→aS|bS|cS|aB; B→aC; C→b. Теперь нужно по правилам грамматики построить конечный автомат, в котором состояния будут получены из нетерминалов грамматики, а переходы определяются терминальными символами. Заключительным будет являться то состояние, в которое происходит переход по одному символу (C→b), следовательно, придётся добавить ещё одно состояние D. Функцию переходов сначала будем строить графически:
Как видно из графа переходов, автомат получился недетерминированный (из состояния А есть два перехода по символу ‘a’). Далее можно применить алгоритм преобразования НКА к ДКА, рассмотренный подробно в лекциях, раздел 2.2.2.
Построим таблицу переходов нашего автомата и преобразуем его в ДКА согласно вышеупомянутому алгоритму.
вход Исходную таблицу переходов отделим от остальной части жирной линией.
Для упрощения процесса будем создавать не все возможные сочетания исходных состояний, а только те, которые реально возникают при построении. Сначала занесём в таблицу SB. Затем появляются AC, SD. Состояния исходного автомата B, C, D (выделены синим) оказались недостижимыми. Удалим их.
состояние а b c
S {A} {A} {A}
A {S,B} {S} {S}
B {C} – –
C – {D} –
D – – –
SB B {AC} {A} {A}
AC C {SB} {SD} {S}
SD D {A} {A} {A}
Новые состояния для удобства переобозначим B, C, D. Заключительным состоянием станет состояние D (поскольку в состояние SD входит то состояние D, которое было заключительным в исходном автомате). Новая таблица переходов примет следующий вид:
вход Построение графа переходов по таблице:
состояние a b c
S {A} {A} {A}
A {B} {S} {S}
B {C} {A} {A}
C {B} {D} {S}
D {A} {A} {A}
Дополнительная информация
зачет
Похожие материалы
Курсовая работа по дисциплине: Теория языков программирования и методы трансляции. Вариант №4
SibGOODy
: 4 февраля 2018
1. ПОСТАНОВКА ЗАДАЧИ
Написать программу для автоматического построения детерминированного конечного автомата (ДКА), эквивалентного заданной регулярной грамматике.
Вход программы: терминальный и нетерминальный алфавиты грамматики, целевой символ, правила грамматики, цепочки для распознавания.
Выход: построенный ДКА (все 5 элементов), результат проверки цепочек.
Подробно:
Язык задан регулярной грамматикой, причём она может быть не автоматного вида. При написании программы разработчику разрешаетс
1400 руб.
КУРСОВАЯ РАБОТА по дисциплине «Теория языков программирования и методы трансляции» Вариант 4
kseniy188
: 4 апреля 2017
Написать программу для автоматического построения детерминированного конечного автомата (ДКА), эквивалентного заданной регулярной грамматике.
Вход программы: терминальный и нетерминальный алфавиты грамматики, целевой символ, правила грамматики, цепочки для распознавания.
Выход: построенный ДКА (все 5 элементов), результат проверки цепочек.
Подробно:
Язык задан регулярной грамматикой, причём она может быть не автоматного вида. При написании программы разработчику разрешается выбрать один из дву
550 руб.
Курсовая работа по дисциплине: Теория языков программирования и методы трансляции. Вариант №4
tpogih
: 14 января 2016
Курсовая работа должна выполняться после изучения всего теоретического материала и выполнения лабораторных работ. Курсовая работа состоит в написании программы в соответствии с заданием. В случае наличия ошибок в программе она возвращается на доработку.
При выполнении работы над ошибками необходимо сохранять замечания преподавателя, а изменения в отчёт вносить другим цветом.
Выполнение задания включает разработку программного средства, тестирование его на наборе данных и написание отчёта по ра
500 руб.
Курсовая работа по дисциплине: Теория языков программирования и методы трансляции. Вариант №4
Roma967
: 6 февраля 2015
Курсовая работа должна выполняться после изучения всего теоретического материала и выполнения лабораторных работ. Курсовая работа состоит в написании программы в соответствии с заданием. В случае наличия ошибок в программе она возвращается на доработку.
При выполнении работы над ошибками необходимо сохранять замечания преподавателя, а изменения в отчёт вносить другим цветом.
Выполнение задания включает разработку программного средства, тестирование его на наборе данных и написание отчёта по рабо
1400 руб.
Курсовая работа Тема: «Формальные языки и грамматики» Дисциплина: «Теория языков программирования и методы трансляции». Вариант 4
xtrail
: 30 марта 2013
Содержание
Введение
Глава 1. Формальные языки и грамматики
1.1 Языки и цепочки символов
1.1.1 Цепочки символов и операции над ними
1.1.2 Понятие языка. Способы задания языков
1.1.3 Особенности языков программирования
1.2 Определение грамматики
1.2.1 Понятие грамматики и формальное определение. Форма Бэкуса-Наура
1.2.2 Другие способы задания грамматик
1.3 Классификация языков и грамматик
1.3.1 Классификация грамматик по Хомскому
1.3.2 Классификация языков
1.4 Вывод и выводимость
1.4.1 Цепочки в
450 руб.
Теория организации. Теория + Кейс задание.
studypro
: 2 сентября 2016
Теоретические вопросы:
1. Что такое обучающая организация? Приведите примеры известных вам компаний, являющихся обучающими. Ответ обоснуйте. Как изменяются роли лидера про создании обучающей организации?
2. Поясните суть сбалансированной системы показателей. Какова была первоначальная цель ее создания? Каким образом можно использовать ССП для оценки эффективности организационных изменений?
Практическое задание:
Сеть магазинов Levi's Store (OLS) существует в Москве уже несколько лет. Ассортим
300 руб.
Теории индустриального и постиндустриального общества Генезис теории
evelin
: 21 ноября 2013
Введение
1. История экономических систем
2.Эволюция экономических систем и их современная характеристика
2.1 Теории индустриального общества
3. Теории индустриального и постиндустриального общества. Генезис теории
3.1 Стадии экономического роста У. Ростоу
3.2 Концепция индустриального общества Р. Арона
3.3 Новое индустриальное общество Дж. Гэлбрейта
3.4 Тоффлер о волнах развития
4. Перемены и индустриальная система
5. Природа промышленного планирования
6. Планирование и предложение ка
10 руб.
Теория механизмов и основы теории машин-автоматов
mako
: 5 июля 2010
Содержание
Введение 4
1 Структурный анализ механизма 6
1.1 Описание механизма 6
1.2 Определение класса механизма 6
2. Кинематический анализ механизма 8
2.1 Определение недостающих размеров звеньев механизма 8
2.2 Первая задача кинематического анализа 8
2.2.1 Построение нулевого положения механизма 8
2.2.2 Построение 8-ми положений механизма 10
2.3 Вторая задача кинематического анализа 10
2.3.1 Определение скоростей и построение плана скорости для нулевого положения механизма 10
2.3.2 Определение
Другие работы
Проекционное черчение. Контрольная работа №2. Вариант №9
vermux1
: 25 декабря 2017
Проекционное черчение Контрольная работа 2 вариант 9
Т.П.Шмерман, И.А.Плюсина, Е.В.Бабич
Инженерная графика и начертательная геометрия
Методические рекомендации к выполнению контрольной работы 2 "Проекционное черчение" для студентов всех специальностей первого курса заочной формы обучения
1 лист Титульный лист на формате А4
2 лист Чертеж детали на формате А3
3 лист Чертеж в прямоугольной изометрии на формате А3
4 Сделана 3Д модель
Выполнены в компасе 3D V13
Помогу с другими вариантами.Пиши
120 руб.
Расчет плашечного превентора
OstVER
: 20 октября 2013
Ввеление.
Схема преверторной установки
Устройство и принцип работы превенторов
Расчет гидропривода управления плашечным превентором манифольда ГУП -100 БР – 2
Для герметизации устья скважин используют плашечные, универсальные и вращающиеся превенторы.
Плашечный превентор рис. 1 предназначен для герметизации устья скважины при наличии и отсутствии труб в скважине. Корпус 2 превентора представляет собой стальную отливку с вертикальным проходным отверстием и цилиндрическими фланцами с резьбой д
5 руб.
Модернизация жатки ЖЗК-6-1 комбайна КЗС-7 (конструкторская часть дипломного проекта)
kurs9
: 28 марта 2018
Проанализировав конструкцию и принцип работы существующих приводов режущих аппаратов зерновых жаток были выявлены некоторые недостатки: необходимость расположения привода по центру жатки, что приводит к усложнению конструкции; необходимость контроля кривизны направляющих, отсутствие которого может привести к неодинаковому изгибу пружин и к быстрой их поломке; при снижении скорости резания в момент его окончания режущий аппарат может забиваться; сложность конструкции, невозможность эффективного
999 руб.
Экзамен по экологии. Билет № 5
lakisk
: 29 апреля 2011
1. Вопрос. Экологические проблемы гидросферы.
2. Вопрос. Роль структурных элементов в функционировании экосистем
Жизнь на Земле зародилась в воде. Вода стала первичной средой для эволюции органического мира и входит в состав всех живых существ. Почти все запасы мировой воды - это соленые воды Мирового океана и подземных кладовых. Пресные водные ресурсы существуют благодаря вечному круговороту воды. В круговороте воды участвуют три основных потока воды – осадки, испарения и влагоперенос. Осадки в
100 руб.