Добавил:
korayakov
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
#ifndef LIBRARY
#define LIBRARY
////////////////////////////////////////////////////////////////////////////////////////////////////
#include <stdio.h>
////////////////////////////////////////////////////////////////////////////////////////////////////
class CList //циклический двунаправленный список
{
public:
CList(void);
~CList();
int GetCount(void); //получить длину списка
void Clear(void); //очистить список
void Free(void); //освободить память из-под элементов и очистить список
void Add(void); //добавить элемент после текущего и сделать его текущим
void Delete(void); //удалить текущий элемент и сделать текущим следующий за ним
void* GetData(void); //получить текущее значение
void SetData(void*); //установить текущее значение
void GoBegin(void); //сделать текущим первый элемент
void GoNext(void); //сделать текущим следующий элемент
void GoPrev(void); //сделать текущим предыдущий элемент
struct ListItem //элемент списка
{
void* Data; //данные
ListItem* Next; //указатель на следующий элемент
ListItem* Prev; //указатель на предыдущий элемент
};
private:
int Count; //количество элементов в списке
ListItem* Begin; //первый элемент списка
ListItem* Cur; //текущий элемент списка
};
////////////////////////////////////////////////////////////////////////////////////////////////////
class CLogFile //файл протокола
{
public:
CLogFile(void);
void Setup(char*); //установить имя файла
void Reset(void); //сброс содержимого протокола
void Print(char*, ...); //форматированная запись в протокол (см. printf)
private:
char FileName[256]; //имя файла протокола
};
////////////////////////////////////////////////////////////////////////////////////////////////////
class CSyntaxer //синтаксический анализатор текстовой информации
{
public:
CSyntaxer(void);
~CSyntaxer();
int Open(char*); //открыть файл для анализа
void Close(void); //закрыть файл
int GetWord(char*); //получить слово из файла
int GetNumber(int*); //получить целое число из файла
private:
int SkipComment(void); //пропустить комментарий
int SkipSpaces(void); //пропустить незначащие символы (пробел, табуляция и т.п.)
private:
FILE* file;
};
////////////////////////////////////////////////////////////////////////////////////////////////////
#endif