1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
//$$FILE$$
//$$VERSION$$
//$$DATE$$
//$$LICENSE$$
/*!
** \file DICScannerBase.h
**
** \brief Header file for DICScanner class.
*/
/*
PURPOSE: DDL 2.1 compliant CIF file lexer ...
*/
#ifndef DICSCANNERBASE_H
#define DICSCANNERBASE_H
/*
#if !defined(DDL_FLEX_LEXER_INCLUDED)
#undef yyFlexLexer
#define yyFlexLexer DDLFlexLexer
#include "FlexLexer.h"
#endif
*/
#include <string>
#include <fstream>
#include <stdio.h>
#include <string.h>
#ifndef DEBUG
#define DEBUG 0
#endif
/**
** \class DICScanner
**
** \brief Private class that represents a dictionary scanner.
*/
class DICScanner // : public DDLFlexLexer
{
protected:
std::string *_tBuf;
int _isText;
int _i, _j, _len;
protected:
std::ofstream log;
bool _verbose;
void alt_yymore(void);
void OpenLog(const std::string& logName, bool verboseLevel);
public:
int NDBlineNo;
int isSave;
DICScanner(std::istream *yyin);
DICScanner();
void Clear();
void Reset();
int ProcessNone();
void ProcessWhiteSpace();
int ProcessData();
int ProcessItemSaveBegin();
int ProcessCategorySaveBegin();
int ProcessSaveEndScanner();
int ProcessLoopScanner();
void ProcessStop();
int ProcessDot();
int ProcessQuestion();
void ProcessComment();
int ProcessItemNameScanner();
int ProcessUnquotedString();
int ProcessSQuotedString();
int ProcessDQuotedString();
int ProcessEof();
virtual int yylex();
virtual ~DICScanner() {Reset();};
};
#endif
|