Построение распознователя грамматик. Построение распознавателя для заданной грамматики и реализация е. Курсовая работа по дисциплине "Основы дискретной математики"
Скачать 227 Kb.
|
2.2 Современные требования к программным продуктам1. Лицензионная чистота (применение программного продукта допустимо только в рамках лицензионного соглашения). 2. Возможность консультации с разработчиком и другие формы сопровождения. 3. Соответствие характеристикам, комплектации, классу и типу компьютеров, а также архитектуре применяемой вычислительной техники. 4. Надежность и работоспособность в любом из предусмотренных режимов работы, как минимум, в русскоязычной языковой среде. 5. Наличие дружественного интерфейса, поддерживающего работу с использованием русского языка (для системного и инструментального программного обеспечения допустимо наличие интерфейса на английском языке). 6. Наличие документации, необходимой для практического применения и освоения работы с программным продуктом, на русском языке. 7. Развитая система интерактивной помощи при работе с программным продуктом. 8. Наличие спецификации, оговаривающей все требования к аппаратным и программным средствам, необходимым для функционирования данного программного продукта. 2.3 Обоснование выбора средств реализацииНаиболее популярны средства разработки WINDOWS, сочетающие в себе средства разработки интерфейса с мощными компиляторами и отладчиками. Одним из таких инструментов является язык программирования BORLAND DELPHI. Возможность проектирования пользовательского интерфейса с помощью редактора форм, а также простота использования функций Windows API и мощные собственные средства отображения графических объектов явились главными критериями в выборе средств разработки предлагаемого продукта. DELPHI - сложная современная система программирования. Диапазон возможностей Delphi поистине неисчерпаем. Среда DELPHI - это сложный механизм, обеспечивающий высоко эффективную работу программиста. Программирование на DELPHI строится на тесном взаимодействии двух процессов: процесса конструирования визуального проявления программы (т.е. ее Windows-окон) и процесса написания программного кода, придающего элементам этого окна и программе в целом необходимую функциональность. Написание программы облегчено визуализацией разработки интерфейса. Сначала разработчик конструирует форму (внешний вид программы). Среда разработки автоматически вносит изменения в написанный код программы (тем самым значительно облегчает работу разработчику). DELPHI основан на объектном программировании языка программирования высокого уровня TURBO PASCAL. Именно Delphi стал тем продуктом, на примере которого стало ясно, что один продукт может столь удачно сочетать несколько передовых технологий: • высокопроизводительный компилятор; • объектно-ориентированная модель компонент. • визуальное (а, следовательно, и быстрое) построение приложений из программных прототипов. Таким образом, Delphi обеспечивает удобство и быстроту написания приложений, отвечающим самым высоким стандартам качества; поэтому он и выбран для реализации данного программного продукта. 2.4 Описание алгоритма реализации основной функции программного продуктаОсновная функция разрабатываемого программного продукта (ПП) определена в названии темы: построение МП-распознавателя для заданной пользователем грамматики. В основу алгоритма реализации положены формальные процедуры эквивалентных преобразований правил, проверки грамматики на принадлежность к классу S -грамматик, и построения МП-распознавателя (результат работы представлен в виде интерактивной управляющей таблицы). Функциональная схема программного продукта: Для анализа задаваемой пользователем грамматики в разрабатываемой программе необходимо предусмотреть: ввод пользователем грамматики в виде множества правил с использованием латинского алфавита символов (нетерминальные символы - прописные, для терминальных - строчные, при вводе эпсилон-правила пустая цепочка будет обозначена символом е; проверку введенных правил (контроль символов, отсутствие символов не входящих в алфавит; в случае неправильного ввода множества правил - возможность их корректировки; в случае правильного ввода - анализ нетерминалов на достижимость (левая часть первого правила - начальный символ грамматики) и продуктивность; удаление правил с недостижимыми и непродуктивными нетерминалами; обработка исключительных ситуаций. Примечание. При создании программного продукта кроме основной функции предполагается реализация вспомогательных функций: создание тестовых примеров для проверки правильности функционирования программного продукта после переноса на другой компьютер, создание контекстной подсказки. |