00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #if !defined(PARSETEXT_H)
00024 #define PARSETEXT_H
00025
00026 #include <qcstring.h>
00027
00028 class MHGroup;
00029
00030 #include "ParseNode.h"
00031
00032 class MHParseText: public MHParseBase
00033 {
00034 public:
00035 MHParseText(QByteArray &program);
00036 virtual ~MHParseText();
00037
00038
00039 virtual MHParseNode *Parse();
00040
00041 private:
00042 void GetNextChar();
00043 void NextSym();
00044 MHParseNode *DoParse();
00045 void Error(const char *str);
00046
00047 int m_lineCount;
00048
00049 enum { PTTag, PTInt, PTString, PTEnum, PTStartSection, PTEndSection, PTStartSeq, PTEndSeq, PTNull, PTEOF, PTBool } m_nType;
00050
00051 int m_ch;
00052 int m_nTag;
00053 int m_nInt;
00054 bool m_fBool;
00055 unsigned char *m_String;
00056 int m_nStringLength;
00057
00058 unsigned int m_p;
00059 QByteArray m_data;
00060 };
00061
00062 #endif