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
|
//$$FILE$$
//$$VERSION$$
//$$DATE$$
//$$LICENSE$$
/*!
** \file CifScannerBase.h
**
** \brief Header file for CifScanner class.
*/
/*
PURPOSE: DDL 2.1 compliant CIF file lexer ...
*/
#ifndef CIFSCANNERBASE_H
#define CIFSCANNERBASE_H
/*
#if !defined(FLEX_LEXER_INCLUDED)
#undef yyFlexLexer
#define yyFlexLexer CifFlexLexer
#include "FlexLexer.h"
#endif
*/
#include <string>
#include <fstream>
#include <stdio.h>
#include <string.h>
#ifndef DEBUG
#define DEBUG 0
#endif
/**
** \class CifScanner
**
** \brief Private class that represents a CIF scanner.
*/
class CifScanner // : public CifFlexLexer
{
protected:
std::string *_tBuf;
int _isText;
int _i, _j, _len;
protected:
std::ofstream log;
std::string errorLog;
bool _verbose;
void alt_yymore(void);
void OpenLog(const std::string& logName, bool verboseLevel);
public:
int NDBlineNo;
CifScanner(std::istream *yyin);
CifScanner();
int ProcessNone();
void ProcessWhiteSpace();
int ProcessData();
int ProcessLoopScanner();
void ProcessStop();
int ProcessDot();
int ProcessQuestion();
void ProcessComment();
int ProcessUnderscore();
int ProcessBadStrings();
int ProcessSQuotedStrings();
int ProcessDQuotedStrings();
int ProcessEof();
void Clear();
void Reset();
virtual int yylex();
virtual ~CifScanner() {Reset();};
};
#endif /* CIFSCANNERBASE_H */
|