/ parseheaderfile.hh / Content
#ifndef __PARSEHEADERFILE_H__
#define __PARSEHEADERFILE_H__
#include
#include "styx.hh"
#ifndef __PARSEHBTAG_H__
# include "parsehbtag.hh"
# include "parsehbtagclass.hh"
# include "parsehbtagdefine.hh"
# include "parsehbtagenum.hh"
# include "parsehbtagfunction.hh"
# include "parsehbtagheader.hh"
# include "parsehbtagstruct.hh"
# include "parsehbtagtypedef.hh"
# include "parsehbtagvar.hh"
#endif
#define HBERROR_CCOMMENT_NOT_ENDED "C comment not ended"
#define HBERROR_HBCOMMENT_NOT_ENDED "HB comment not ended"
#define HBERROR_EMPTY_HBCOMMENT "Empty HB comment"
#define HBERROR_UNKNOWN_TAG "Unknown tag"
#define HBERROR_HBTAG_LESS_DISCUSSION "HB tag without discussion"
#define HBERROR_BAD_TAG_PRESENT "Bad HB tag present"
#define HBERROR_CLASS_NOT_FIND "Class definition not find"
#define HBERROR_CLASS_NOT_ENDED "Class definition not ended"
class ParseHBTag;
class ParseHeaderfile
{
friend ParseHBTag;
public:
void parse(string filename);
ParseHeaderfile(StyxDomNode* documentNode);
private:
StyxDomNode* xmlDocumentNode;
string filename;
FILE* file;
StyxDomNode* fileNode;
int nbChar;
int nbLine;
char getChar(void);
void seekCur(int offset);
void parseGeneral(void);
void parseHBComment(void);
void parseHBCComment(void);
void parseHBCppComment(void);
void addWarning(string warning);
void readInsideFile(void);
};
#endif /* __PARSEHEADERFILE_H__ */