mirror of
https://github.com/UberGames/GtkRadiant.git
synced 2024-11-29 15:11:54 +00:00
42 lines
880 B
C
42 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
|