Разработка программного приложения для решения информационнотАУлогических задач

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



?Вж;

-правильность написания дизъюнкций (тАж|тАж);

-правильность написания отрицания элементов !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 Разработка алгоритма решения задачи

&