Теория языков программирования и методы трансляции Курсовая работа. 2-й вариант
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Необходимые программы
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Программа для просмотра текстовых файлов
- Microsoft Word
Описание
Написать программу для автоматического построения регулярной грамматики (леволинейной или праволинейной) по словесному описанию языка.
Вход программы: алфавит языка, обязательные начальная и конечная подцепочки, тип грамматики (ЛЛ либо ПЛ), 2 числа – диапазон длин для генерации цепочек.
Выход: построенная грамматика (все 4 элемента), результат генерации цепочек.
Подробно:
Язык задан своим алфавитом, обязательной начальной и конечной подцепочками, которые должны присутствовать во всех цепочках языка. В заданных подцепочках не должно находиться символов, не содержащихся в алфавите. В крайнем случае они (одна или обе) могут быть и пустыми. Особый случай – это пересечение заданных цепочек по одному или нескольким символам, в том числе и полное их совпадение.
Программа должна:
1. по предложенному описанию регулярного языка строить регулярную грамматику, генерирующую этот язык, в том виде, как она рассматривалась в теории, раздел 1.3.1;
2. с помощью построенной грамматики генерировать все цепочки языка в заданном пользователем диапазоне длин.
Грамматика должна строиться и праволинейная, и леволинейная. Желаемый тип грамматики выбирается пользователем в меню. Все правила грамматики должны соответствовать выбранному типу! Отдельно следует указывать, какой нетерминальный символ является целевым. Если в грамматике используется пустое правило, то необходимо дать пояснение, каким именно символом обозначается пустая цепочка.
После построения грамматики пользователь может убедиться в её правильности путём генерации всех цепочек языка в том диапазоне длин, который он задаст. Генерацию каждой цепочки языка следует поэтапно отображать на экране в виде цепочки вывода (в соответствии с примерами раздела 1.4.1.). Генерация осуществляется в соответствии с лабораторной работой No1.
Рассмотрим пример построения регулярной грамматики.
Задан язык: алфавит {a,b,c}, обязательная начальная цепочка ‘саа’, конечная цепочка ‘aab’. Анализируем задание: язык будет состоять из цепочек любой длины, начинающихся с цепочки ‘cаа’ и заканчивающихся на ‘aab’, например {сaab, саaab, сaaааb, caaсааb, сaabaab, ...}.
Для определённости выберем праволинейную грамматику (ПЛ). В правой части её правил вывода может быть только один нетерминал, и он должен располагаться справа от цепочек терминальных символов.
Все цепочки языка должны начинаться с заданной цепочки ‘саа’, после которой может находиться всё, что угодно. Значит, правило для целевого символа будет иметь вид: S→caaА, а для нетерминала А: А→aA|bA|cA. В конце должна быть ‘aab’, значит, выход из нетерминала А будет по ней: А→aA|bA|cA|aab. Осталось учесть возможные пересечения цепочек, это ‘сaab’, ‘саaab’. Их нужно выводить из целевого символа. Итак, грамматика имеет вид: G({a,b,c},{S,A},P,S), Р: S→caaА|сaab|саaab; А→aA|bA|cA|aab.
Вход программы: алфавит языка, обязательные начальная и конечная подцепочки, тип грамматики (ЛЛ либо ПЛ), 2 числа – диапазон длин для генерации цепочек.
Выход: построенная грамматика (все 4 элемента), результат генерации цепочек.
Подробно:
Язык задан своим алфавитом, обязательной начальной и конечной подцепочками, которые должны присутствовать во всех цепочках языка. В заданных подцепочках не должно находиться символов, не содержащихся в алфавите. В крайнем случае они (одна или обе) могут быть и пустыми. Особый случай – это пересечение заданных цепочек по одному или нескольким символам, в том числе и полное их совпадение.
Программа должна:
1. по предложенному описанию регулярного языка строить регулярную грамматику, генерирующую этот язык, в том виде, как она рассматривалась в теории, раздел 1.3.1;
2. с помощью построенной грамматики генерировать все цепочки языка в заданном пользователем диапазоне длин.
Грамматика должна строиться и праволинейная, и леволинейная. Желаемый тип грамматики выбирается пользователем в меню. Все правила грамматики должны соответствовать выбранному типу! Отдельно следует указывать, какой нетерминальный символ является целевым. Если в грамматике используется пустое правило, то необходимо дать пояснение, каким именно символом обозначается пустая цепочка.
После построения грамматики пользователь может убедиться в её правильности путём генерации всех цепочек языка в том диапазоне длин, который он задаст. Генерацию каждой цепочки языка следует поэтапно отображать на экране в виде цепочки вывода (в соответствии с примерами раздела 1.4.1.). Генерация осуществляется в соответствии с лабораторной работой No1.
Рассмотрим пример построения регулярной грамматики.
Задан язык: алфавит {a,b,c}, обязательная начальная цепочка ‘саа’, конечная цепочка ‘aab’. Анализируем задание: язык будет состоять из цепочек любой длины, начинающихся с цепочки ‘cаа’ и заканчивающихся на ‘aab’, например {сaab, саaab, сaaааb, caaсааb, сaabaab, ...}.
Для определённости выберем праволинейную грамматику (ПЛ). В правой части её правил вывода может быть только один нетерминал, и он должен располагаться справа от цепочек терминальных символов.
Все цепочки языка должны начинаться с заданной цепочки ‘саа’, после которой может находиться всё, что угодно. Значит, правило для целевого символа будет иметь вид: S→caaА, а для нетерминала А: А→aA|bA|cA. В конце должна быть ‘aab’, значит, выход из нетерминала А будет по ней: А→aA|bA|cA|aab. Осталось учесть возможные пересечения цепочек, это ‘сaab’, ‘саaab’. Их нужно выводить из целевого символа. Итак, грамматика имеет вид: G({a,b,c},{S,A},P,S), Р: S→caaА|сaab|саaab; А→aA|bA|cA|aab.
Дополнительная информация
100%-ая правильность программы не гарантируется. Преподаватель сможет вас легко завалить если захочет. Проверяйте и корректируйте перед сдачей.
Похожие материалы
Теория языков программирования и методы трансляции. Курсовая работа. Вариант 13.
Сергей442
: 13 ноября 2023
Написать программу, которая по заданной регулярной грамматике (грамматика может быть НЕ автоматного вида! ЛЛ или ПЛ) построит эквивалентный ДКА (представление функции переходов в виде таблицы). Программа должна сгенерировать по исходной грамматике несколько цепочек в заданном диапазоне длин и проверить их допустимость построенным автоматом. Процессы построения цепочек и проверки их выводимости отображать на экране (по требованию).
2500 руб.
Теория языков программирования и методы трансляции курсовая работа вариант 4
svladislav987
: 29 августа 2023
Вариант 4
Написать программу для автоматического построения детерминированного конечного автомата (ДКА), эквивалентного заданной регулярной грамматике.
Вход программы: терминальный и нетерминальный алфавиты грамматики, целевой символ, правила грамматики, цепочки для распознавания.
Выход: построенный ДКА (все 5 элементов), результат проверки цепочек.
Подробно:
Язык задан регулярной грамматикой, причём она может быть не автоматного вида. При написании программы разработчику разрешается выбрать оди
500 руб.
Теория языков программирования и методы трансляции. Курсовая работа. Вариант 19.
LowCost
: 8 января 2021
Написать программу, которая для языка, заданного контекстно-свободной грамматикой в требуемой форме (проверить корректность задания и при отрицательном результате выдать соответствующее сообщение), построит детерминированный распознаватель с магазинной памятью, используя алгоритм восходящего анализа с возвратами («сдвиг-свертка»).
Программа должна сгенерировать по исходной грамматике несколько цепочек в указанном диапазоне длин и проверить их допустимость построенным ДМПА. Процессы построения ц
499 руб.
Теория языков программирования и методы трансляции. Курсовая работа. Вариант 10.
Bodibilder
: 3 июля 2019
Вариант 10
Написать программу для автоматического построения регулярной грамматики (леволинейной или праволинейной) по словесному описанию языка.
Вход программы: алфавит языка, обязательная конечная подцепочка, кратность длины всех цепочек языка, тип грамматики (ЛЛ либо ПЛ), 2 числа – диапазон длин для генерации цепочек.
Выход: построенная грамматика (все 4 элемента), результат генерации цепочек.
Подробно:
Язык задан своим алфавитом, обязательной конечной подцепочкой, которая должна присутствова
200 руб.
Теория языков программирования и методы трансляции. Курсовая работа. Вариант 1.
nik200511
: 7 декабря 2018
Написать программу для автоматического построения детерминированного конечного автомата (ДКА) по словесному описанию языка.
Вход программы: алфавит языка, обязательная начальная подцепочка, кратность длины всех цепочек языка, цепочки для распознавания.
Выход: построенный ДКА (все 5 элементов), результат проверки цепочек.
Подробно:
Язык задан своим алфавитом, обязательной начальной цепочкой и указанием кратности длины всех цепочек языка. В начальной цепочк
144 руб.
Теория языков программирования и методы трансляции. Курсовая работа. Вариант № 5
gnv1979
: 1 декабря 2017
Вариант 5
Написать программу для автоматического построения регулярной грамматики (леволинейной или праволинейной), эквивалентной заданному конечному автомату (КА).
Вход программы: КА в виде: алфавит языка, множество состояний, начальное состояние, множество заключительных состояний, функция переходов в табличном виде; тип грамматики (ЛЛ либо ПЛ), 2 числа – диапазон длин для генерации цепочек.
Выход: построенная грамматика (все 4 элемента), результат генерации цепочек.
Подробно:
Язык задан ко
120 руб.
Теория языков программирования и методы трансляции. Курсовая работа. Вариант №6.
Cole82
: 6 декабря 2016
Вариант 6
Написать программу для автоматического построения грамматики, эквивалентной заданному регулярному выражению (РВ).
Вход программы: регулярное выражение в виде строки символов, 2 числа – диапазон длин для генерации цепочек.
Выход: построенная грамматика (все 4 элемента), результат генерации цепочек.
Подробно:
Язык задан регулярным выражением. При его записи могут быть использованы символы алфавита языка, а также: «+» (выбор одного из слагаемых), круглые скобки, «*» для обозначени
111 руб.
Теория языков программирования и методы трансляции. Курсовая работа. Вариант №8
rt
: 30 апреля 2016
Написать программу для автоматического построения детерминированного конечного автомата (ДКА) по словесному описанию языка.
Вход программы: алфавит языка, обязательная конечная подцепочка, цепочки для распознавания.
Выход: построенный ДКА (все 5 элементов), результат проверки цепочек.
Подробно:
Язык задан своим алфавитом и обязательной конечной подцепочкой всех цепочек языка. В конечной подцепочке не должно находиться символов, не содержащихся в алфавите. В крайнем случае она может быть и пустой
250 руб.
Другие работы
На пути к устойчивому развитию Беларуси
alfFRED
: 3 сентября 2013
Термин «устойчивое развитие» появился в начале 70-х в работах Дж.Форечестера и Д. Медоуза, в частности, в книге «Пределы роста» и докладах Римскому клубу. Эти уважаемые во всем мире ученые занимались проблемами системного кризиса (не только экологического) современной цивилизации и пришли к выводам, которые шокировали как правительства, так и думающую мировую общественность обоих еще существовавших тогда лагерей и третьего мира.
Впрочем, в СССР эта книга, как и последовавшая за ней «За пределам
5 руб.
Гидравлика Задача 1.189 Вариант 7
Z24
: 1 декабря 2025
Определить удельный объем υ и удельный вес γ жидкости, если известна ее плотность ρ, кг/м³.
120 руб.
Контрольная работа по дисциплине «Оперативное управление производством» на тему: «Анализ производства»
vov70
: 10 сентября 2012
Задание
Студент на основании данных бухгалтерской отчетности:
Отчет о прибылях и убытках (Ф.2), Приложение к балансу (Ф.5) или по данным табл.1 проводит анализ произ-водственной деятельности предприятия. При этом каждому показателю необходимо дать краткую характеристику («что это – выручка, себестоимость, прибыль? и др.»). Сравнение производится внешним методом, т.е. сопоставляются показатели двух организаций, или историческим – принимаются два года работы одного предприятия. За базу принимается
300 руб.
Соединение крепежными деталями. Вариант 19
bublegum
: 14 октября 2020
Соединение крепежными деталями Вариант 19
1. Завершить выполнение сборочного чертежа, изобразив без упрощений * соединение основания 1 ( из стали) с накладкой 2 шпилькой, с пластиной 3 – болтом, с угольником 4 – винтом. 2. Завершить заполнение спецификации.
В архиве лежит выполненная работа на формате А4+ спецификация на формате А4, Задание см. на скриншоте.
Выполнено в компасе 3D V13 чертеж+спецификация так же откроется и выше версиях компаса.
Просьба по всем вопросам писать в Л/С. Отвечу и
125 руб.