DDLScannerBase.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 DDLSCANNERBASE_H
00020 #define DDLSCANNERBASE_H
00021 
00022 
00023 /*
00024 #if !defined(DDL_FLEX_LEXER_INCLUDED)
00025 #undef    yyFlexLexer
00026 #define   yyFlexLexer DDLFlexLexer
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 DDLScanner // : public DDLFlexLexer 
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   int isSave;
00066   DDLScanner(istream *yyin);
00067   DDLScanner();
00068   void Clear();
00069   void Reset();
00070   int ProcessNone();
00071   void ProcessWhiteSpace();
00072   int ProcessData();
00073   int ProcessItemSaveBegin();
00074   int ProcessCategorySaveBegin();
00075   int ProcessSaveEndScanner();
00076   int ProcessLoopScanner();
00077   void ProcessStop();
00078   int ProcessDot();
00079   int ProcessQuestion();
00080   void ProcessComment();
00081   int ProcessItemNameScanner();
00082   int ProcessUnquotedString();
00083   int ProcessSQuotedString();
00084   int ProcessDQuotedString();
00085   int ProcessEof();
00086   virtual int yylex();
00087   virtual ~DDLScanner() {Reset();};
00088 };
00089 
00090 #endif
00091 

Generated on Tue Apr 24 09:25:37 2007 for cifparse-obj-v7.0 by  doxygen 1.5.1