]> de.git.xonotic.org Git - xonotic/netradiant.git/blob - contrib/bobtoolz/ScriptParser.h
more eol-style
[xonotic/netradiant.git] / contrib / bobtoolz / ScriptParser.h
1
2 #ifndef _SCRIPTPARSER_H_
3 #define _SCRIPTPARSER_H_
4
5 #include "interfaces/IScriptParser.h"
6
7 #define SP_MAX_BREAKCHARS 16
8
9 class CScriptParser: public IScriptParser {
10 public:
11         CScriptParser(void);
12         ~CScriptParser(void);
13 private:
14         char    m_breakChars[SP_MAX_BREAKCHARS];
15         char*   m_pScript;
16         char*   m_pScriptSection;
17         char*   m_pLastScriptSection;
18         char*   m_pToken;
19
20         void SkipWhitespace(bool* pbNewLines);
21         void ClearBuffer(void);
22         const char* MakeToken(const char* pToken);
23         bool IsBreakChar(char c);
24 public:
25         const char* GetToken(bool bAllowLinebreaks);
26         void SkipBracedSection(void);
27         void SkipRestOfLine(void);
28         void UndoGetToken(void);
29         void ResetParseSession(void);
30
31         char* GetBufferCopy(void);
32         int GetTokenOffset(void);
33
34         void LoadScript(const char* pScript);
35         void SetScript(char* pScript);
36
37         void AddBreakChar(char c);
38 private:
39 };
40
41 #endif