CifScannerBase.h

Go to the documentation of this file.
00001 //$$FILE$$
00002 //$$VERSION$$
00003 //$$DATE$$
00004 //$$LICENSE$$
00005 
00006 
00014 /* 
00015   PURPOSE:    DDL 2.1 compliant CIF file lexer ...
00016 */
00017 
00018 
00019 #ifndef CIFSCANNERBASE_H
00020 #define CIFSCANNERBASE_H
00021 
00022 
00023 /*
00024 #if !defined(FLEX_LEXER_INCLUDED)
00025 #undef    yyFlexLexer
00026 #define   yyFlexLexer CifFlexLexer
00027 #include "FlexLexer.h"
00028 #endif
00029 */
00030 
00031 #include <string>
00032 
00033 using namespace std;
00034 
00035 #include <fstream>
00036 #include <stdio.h>
00037 #include <string.h>
00038 
00039 #ifndef  DEBUG
00040 #define DEBUG  0
00041 #endif
00042 
00043 
00049 class CifScanner // : public CifFlexLexer 
00050 {
00051  protected:
00052 
00053   string *_tBuf;
00054   int   _isText;
00055   int   _i, _j, _len;
00056 
00057  protected:
00058   ofstream log;
00059   bool _verbose;
00060   void alt_yymore(void);
00061   void OpenLog(const string& logName, bool verboseLevel);
00062 
00063  public:
00064   int NDBlineNo;
00065   CifScanner(istream *yyin);
00066   CifScanner();
00067   int ProcessNone();
00068   void ProcessWhiteSpace();
00069   int ProcessData();
00070   int ProcessLoopScanner();
00071   void ProcessStop();
00072   int ProcessDot();
00073   int ProcessQuestion();
00074   void ProcessComment();
00075   int ProcessUnderscore();
00076   int ProcessBadStrings();
00077   int ProcessSQuotedStrings();
00078   int ProcessDQuotedStrings();
00079   int ProcessEof();
00080   void Clear();
00081   void Reset();
00082   virtual int yylex();
00083   virtual ~CifScanner() {Reset();};
00084 };
00085 
00086 #endif /* CIFSCANNERBASE_H */

Generated on Wed Feb 6 07:44:04 2008 for cifparse-obj-v7.0 by  doxygen 1.5.1