59 lines
1.2 KiB
C++
59 lines
1.2 KiB
C++
#ifndef _PARSE_H_
|
|
#define _PARSE_H_
|
|
#ifdef __cplusplus
|
|
|
|
#define CHAR_EOF -1
|
|
|
|
|
|
class CParseFile
|
|
{
|
|
public:
|
|
void Parse(FILE * pfileSrc, FILE * pfileDest, DWORD dwFlags);
|
|
|
|
CParseFile();
|
|
~CParseFile() {};
|
|
|
|
private:
|
|
void _ParseInf(void);
|
|
void _ParseHtml(void);
|
|
void _ParseJS(void);
|
|
void _ParseHtc(void);
|
|
|
|
char _ReadChar(DWORD dwFlags);
|
|
char _SniffChar(int ichAhead);
|
|
BOOL _IsTagEqual(LPSTR pszTag);
|
|
BOOL _IsEndTag(void);
|
|
|
|
void _WriteChar(char);
|
|
void _FlushWriteBuffer(void);
|
|
|
|
void _WriteTag(void);
|
|
void _SkipCommentTag(void);
|
|
BOOL _SkipComment(int * pcNestedComment);
|
|
BOOL _SkipWhitespace(BOOL bPreserveOneSpace = FALSE);
|
|
void _ParseInnerStyle(void);
|
|
|
|
|
|
FILE * _pfileSrc;
|
|
FILE * _pfileDest;
|
|
|
|
char _ch;
|
|
int _ichRead;
|
|
int _cchRead;
|
|
int _ichWrite;
|
|
|
|
BITBOOL _bSkipWhitespace: 1; // TRUE: skip whitespace
|
|
|
|
BITBOOL _bFirstChar: 1; // TRUE: current character is first one on a new line
|
|
|
|
char _szReadBuf[512];
|
|
char _szWriteBuf[512];
|
|
};
|
|
|
|
|
|
#endif // __cplusplus
|
|
#endif // _PARSE_H_
|
|
|
|
|
|
|