gtkradiant/contrib/bobtoolz/ScriptParser.h
TTimo 8037810110 transfer from internal tree r5311 branches/1.4-gpl
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/branches/ZeroRadiant@177 8a3a26a2-13c4-0310-b231-cf6edde360e5
2007-09-12 18:54:28 +00:00

41 lines
880 B
C++

#ifndef _SCRIPTPARSER_H_
#define _SCRIPTPARSER_H_
#include "interfaces/IScriptParser.h"
#define SP_MAX_BREAKCHARS 16
class CScriptParser: public IScriptParser {
public:
CScriptParser(void);
~CScriptParser(void);
private:
char m_breakChars[SP_MAX_BREAKCHARS];
char* m_pScript;
char* m_pScriptSection;
char* m_pLastScriptSection;
char* m_pToken;
void SkipWhitespace(bool* pbNewLines);
void ClearBuffer(void);
const char* MakeToken(const char* pToken);
bool IsBreakChar(char c);
public:
const char* GetToken(bool bAllowLinebreaks);
void SkipBracedSection(void);
void SkipRestOfLine(void);
void UndoGetToken(void);
void ResetParseSession(void);
char* GetBufferCopy(void);
int GetTokenOffset(void);
void LoadScript(const char* pScript);
void SetScript(char* pScript);
void AddBreakChar(char c);
private:
};
#endif