Разработка программного приложения для решения информационнотАУлогических задач
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?Вж;
-правильность написания дизъюнкций (тАж|тАж);
-правильность написания отрицания элементов !aтАж a.
Алгоритмы синтаксического анализа конструкций языка (констант, идентификаторов, приложений и т. п.) должны реализовываться с помощью отдельных функций.
В настоящее время при описании синтаксиса языка наиболее часто применяются два формальных метода.
Расширенные синтаксические формы Бэкуса - Наура представляют собой металингвистические формулы. Каждое понятие языка определяется через множество допустимых конструкций языка с помощью единственной нормальной формы. В формах используют специальные метасимволы:
::= - определение понятия;
?? - ограничители терминалов;
- ограничители нетерминалов;
| - конструкция или;
[ ] - повторение 0 или 1 раз;
{ } - повторение 0 или более раз;
( ) - группировка;
? - пустая синтаксическая цепочка;
. - завершение формы.
Альтернативной формой записи грамматики являются синтаксические диаграммы. Каждая диаграмма является ориентированным графом. Каждая вершина, не являющаяся начальной или конечной, является позицией синтаксического разбора входного потока. Каждой дуге ставится в соответствии терминал или нетерминал:
Рисунок 1 - Обозначения элементов синтаксических диаграмм
Ниже приведены РБНФ и синтаксические диаграммы упрощенного определения нетерминала выражения языка С:
::=
}.
Рисунок 2 - РБНФ для анализа СКНФ
::=
| &}.
Рисунок 3 - РБНФ для анализа арифметического выражения
Синтаксический разбор выражения будет осуществляться посимвольно.
1.4Определение требований к системе
1.4.1Требования к системе в целом
К общим требованием в эксплуатации данного программного приложения можно отнести:
-квалификация персонала может находиться на уровне пользователя ПК;
-знание назначения данного программного обеспечения;
-знание основ синтаксиса языка С.
При возникновении аварийной ситуации все данные будут сохранены, т. к. данные только доступны для чтения.
Условия эксплуатации:
-знать и правильно указывать путь к файлу программы;
-правильность ввода функции СКНФ, с содержанием специальных символов ( | - дизъюнкция, & - конъюнкция, ! - отрицание);
-правильность ввода данных с учетом регистра.
1.4.2Требования к техническому обеспечению
Технические требования:
-устройства ввода и вывода информации, такие как клавиатура и монитор;
-процессор класса Pentium 3 и выше;
-объем оперативной памяти не менее 128 Мб;
-от 500 Мб свободного места на жестком диске, для обеспечения запуска и работы программы;
-встроенный графический чип или видеоплата.
1.4.3Требования к программному обеспечению
Система должна работать на IBM совместимых персональных компьютерах.
Наличие операционной системы Windows версии 5.1 и выше с установленным Net Framework версии 3.5 и выше. Наличие программного обеспечения для ввода и вывода данных.
2. Проектирование программного приложения
.1 Разработка технологии обработки информации
Ввод функции СКНФ для ее проверки осуществляется вручную, загрузка текста программы для проверки осуществляется из файла. Предварительной подготовкой является:
-создание файла с текстом простой программы;
-размещение файла на носителе;
Программа должна работать в пакетном режиме. Выходные данные будут выводиться на экран пользователя.
Структура технологического процесса:
-считать с экрана пользователя введенную функцию СКНФ;
-посимвольно провести синтаксический анализ введенной функции;
-считать файл .txt с программой;
-удалить из файла все комментарии и многострочные и однострочные;
-провести синтаксический и арифметический анализ каждой строки.
Необходимо использование соглашений:
-объявление переменных типа int должно сопровождаться обязательной инициализацией числовой переменной, может объявляться как отдельно, так и сразу несколько переменных вместе;
-все конструкции языка разделяет один пробел, обязательно ставится ; в конце строки там, где это предусмотрено синтаксисом языка С;
-наименование всех переменных может обозначаться только одной буквой латинского алфавита [aтАжz];
-в одной строке может размещаться только один оператор;
алгоритм программа модуль
-в программе не должны использоваться сложные арифметические выражения.
2.2 Разработка структуры и формы представления данных
Загрузка текста программы для проверки осуществляется из файла. Предварительной подготовкой является:
-создание файла с текстом простой программы;
-размещение файла на носителе;
Программа должна работать в пакетном режиме. Выходные данные будут выводиться на экран пользователя.
-считать файл .с с программой;
-построчно провести синтаксический анализ введенной функции;
При соблюдении всех требований программа будет синтаксически верной.
Отформатированные исходные данные будут выведены на монитор пользователя с тестом определенного сообщения, в случае обнаружения ошибки с указанием причины ошибки.
2.3 Разработка алгоритма решения задачи
&