CifScannerBase.h

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

Generated on Mon Apr 2 09:28:52 2007 for cifparse-obj-v7.0 by  doxygen 1.5.1