DICScannerBase.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 DICSCANNERBASE_H
00020 #define DICSCANNERBASE_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 
00034 #include <fstream>
00035 #include <stdio.h>
00036 #include <string.h>
00037 
00038 #ifndef  DEBUG
00039 #define DEBUG  0
00040 #endif
00041 
00042 
00048 class DICScanner // : public DDLFlexLexer 
00049 {
00050  protected:
00051 
00052   std::string *_tBuf;
00053   int   _isText;
00054   int   _i, _j, _len;
00055 
00056  protected:
00057   std::ofstream log;
00058   bool _verbose;
00059   void alt_yymore(void);
00060   void OpenLog(const std::string& logName, bool verboseLevel);
00061 
00062  public:
00063   int NDBlineNo;
00064   int isSave;
00065   DICScanner(std::istream *yyin);
00066   DICScanner();
00067   void Clear();
00068   void Reset();
00069   int ProcessNone();
00070   void ProcessWhiteSpace();
00071   int ProcessData();
00072   int ProcessItemSaveBegin();
00073   int ProcessCategorySaveBegin();
00074   int ProcessSaveEndScanner();
00075   int ProcessLoopScanner();
00076   void ProcessStop();
00077   int ProcessDot();
00078   int ProcessQuestion();
00079   void ProcessComment();
00080   int ProcessItemNameScanner();
00081   int ProcessUnquotedString();
00082   int ProcessSQuotedString();
00083   int ProcessDQuotedString();
00084   int ProcessEof();
00085   virtual int yylex();
00086   virtual ~DICScanner() {Reset();};
00087 };
00088 
00089 #endif
00090 

Generated on Thu Sep 29 09:19:23 2011 for cif-parser-v7.1.0 by  doxygen 1.4.7