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 class MHGroup;
00027
00028 #include "ParseNode.h"
00029
00030 class MHParseText: public MHParseBase
00031 {
00032 public:
00033 MHParseText(QByteArray &program);
00034 virtual ~MHParseText();
00035
00036
00037 virtual MHParseNode *Parse();
00038
00039 private:
00040 void GetNextChar();
00041 void NextSym();
00042 MHParseNode *DoParse();
00043 void Error(const char *str);
00044
00045 int m_lineCount;
00046
00047 enum { PTTag, PTInt, PTString, PTEnum, PTStartSection, PTEndSection, PTStartSeq, PTEndSeq, PTNull, PTEOF, PTBool } m_nType;
00048
00049 int m_ch;
00050 int m_nTag;
00051 int m_nInt;
00052 bool m_fBool;
00053 unsigned char *m_String;
00054 int m_nStringLength;
00055
00056 unsigned int m_p;
00057 QByteArray m_data;
00058 };
00059
00060 #endif