Содержание
Содержание 2
1. Постановка задачи 3
2. Список ключевых слов и текст программы для анализа 3
3. Интерфейс программы 4
4. Алгоритм и результаты работы программы 5
5. Листинг программы 9
Список литературы 13
1. Постановка задачи
Задача состоит в создании программы на С++ в среде Builder Borland 6.0.
Программа обрабатывает текст программы на С++, которая хранится в виде файла кода на диске и выполняет следующие действия:
1) подсчитывание ключевых слов Си и их количества, которые используются в коде;
2) составление перечня имен простых переменных, которые используются в левой части оператора присвоения;
3) составление перечня меток программы в алфавитном порядке.
2. Список ключевых слов и текст программы для анализа
Перед созданием программы была проведена подготовительная работа по созданию списка ключевых слов Си. Это было сделано с помощью справочной системы Borland C++ Builder.
Список ключевых слов хранится в файле keywords.txt.
Список организован как одна строка текста, отдельные ключевые слова разделены знаком табуляции.
Программа может быть расширена для поиска и других ключевых слов – например, не языка Си, а спецификации С++ в С++ Builder. Для этого нужно только обновить файл ключевых слов, т.е. поменять содержание файла keywords.txt с помощью справочной системы С++. Кроме того, этот файл может иметь другое название, лишь бы он был в текстовом формате, т.е. с расширением txt.
Текст программы для анализа содержится в текстовом файле alg1.txt. Файл для анализа может иметь и другое название, необходимо лишь, чтобы он был текстовым.
3. Интерфейс программы
Программа имеет одну главную форму, которая приведена на рисунке 1.
Главное меня предлагает три пункта:
- открытие файла ключевых слов – для этого необходимо в окне программы выбрать команду ФАЙЛ, затем в браузере выбрать файл keywords.txt; тем самым произойдет подключение списка ключевых слов;
- открытие файла с текстом кода – для этого необходимо в окне программы выбрать команду ФАЙЛ, затем в браузере выбрать файл alg1.txt; тем самым произойдет подключение файла для анализа;
- собственно работа программы;
- выход из программы.
Кнопка запуска анализа кода становится активной только тогда, когда оба файла успешно открыты.
При нажатии на эту кнопку происходит анализ кода в соответствии с поставленными задачами и файлом ключевых слов.
Полученные результаты выводятся в текстовом поле Memo.
Закрыть программу можно с системной кнопки выхода в правом верхнем углу окна и с помощью пункта меню.
При закрытии главной формы программы открытые файлы автоматически закрываются.
4. Алгоритм и результаты работы программы
Программа работает с использованием строковых переменных и контейнеров типа вектор, которые позволяют хранить последовательности.
Программа выполняет работу анализа в следующей последовательности:
1. составление списка ключевых слов как вектора в оперативной памяти;
2. в тексте программы ищутся и удаляются комментарии различных видов и ненужные строковые константы, заключенные в кавычки;
3. подсчет количества различных видов ключевых слов;
4. подсчет имен переменных;
5. подсчет меток;
6. вывод полученных данных.
Так, в контрольном примере содержится следующий код программы:
#include "stlexam.h"
#pragma hdrstop
#include <vector>
#include <list>
#include <algorithm>
#include <ctype.h>
#include <string>
#include <string.h>
#include <iostream>
goto Jane;
#ifndef _RWSTD_NO_NAMESPACE
using namespace std;
#endif
class iotaGen
{
public:
iotaGen (int iv) : current(iv) { }
int operator () () { return current++; }
private:
int current;
};
//