engineerklub | Дата: Пятница, 22.03.2024, 11:42 | Сообщение # 1 |
Генералиссимус
Группа: Администраторы
Сообщений: 28525
Статус: Offline
| Теория языков программирования и методы трансляции. Вариант №8(18)
Тип работы: Работа Курсовая Форматы файлов: Microsoft Office Сдано в учебном заведении: СибГУТИ
Описание: Написать программу для автоматического построения детерминированного конечного автомата (ДКА) по словесному описанию языка. Вход программы: алфавит языка, обязательная конечная подцепочка, цепочки для распознавания. Выход: построенный ДКА (все 5 элементов), результат проверки цепочек. Подробно: Язык задан своим алфавитом и обязательной конечной подцепочкой всех цепочек языка. В конечной подцепочке не должно находиться символов, не содержащихся в алфавите. В крайнем случае она может быть и пустой. Программа должна: 1. по предложенному описанию регулярного языка строить ДКА, распознающий этот язык, в том виде, как он рассматривался в теории, раздел 2.2.2; 2. с помощью построенного ДКА проверять вводимые пользователем цепочки на их принадлежность этому языку. ДКА должен быть полностью определённым. Функция переходов ДКА может изображаться в виде таблицы или графа, вариант вида её представления выбирается разработчиком. Наиболее простой способ построения такого ДКА состоит в том, чтобы сначала по описанию языка построить НКА (недетерминированный конечный автомат), а затем преобразовать его согласно рассмотренному в разделе 2.2.2 алгоритму. При выборе такого способа построения ДКА промежуточный результат в виде НКА необходимо также отображать на экране по просьбе пользователя. По желанию автора допускаются и другие способы построения ДКА. После построения ДКА пользователь может вводить произвольные цепочки для проверки их на принадлежность исходному языку. Разбор цепочек автоматом следует поэтапно отображать на экране в виде последовательной смены конфигураций в соответствии с лабораторной работой №2.
СКАЧАТЬ
|
|
| |