Содержание


Содержание 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;

};

//