169 public: |
169 public: |
170 // ==================================================================== |
170 // ==================================================================== |
171 // METHODS |
171 // METHODS |
172 BotscriptParser(); |
172 BotscriptParser(); |
173 ~BotscriptParser(); |
173 ~BotscriptParser(); |
|
174 ConstantInfo* FindConstant (const String& tok); |
174 void ParseBotscript (String fileName); |
175 void ParseBotscript (String fileName); |
175 DataBuffer* ParseCommand (CommandInfo* comm); |
176 DataBuffer* ParseCommand (CommandInfo* comm); |
176 DataBuffer* ParseExpression (EType reqtype); |
|
177 DataBuffer* ParseAssignment (ScriptVariable* var); |
177 DataBuffer* ParseAssignment (ScriptVariable* var); |
178 int ParseOperator (bool peek = false); |
178 int ParseOperator (bool peek = false); |
179 DataBuffer* ParseExprValue (EType reqtype); |
|
180 String ParseFloat(); |
179 String ParseFloat(); |
181 void PushScope(); |
180 void PushScope(); |
182 DataBuffer* ParseStatement(); |
181 DataBuffer* ParseStatement(); |
183 void AddSwitchCase (DataBuffer* b); |
182 void AddSwitchCase (DataBuffer* b); |
184 void CheckToplevel(); |
183 void CheckToplevel(); |
234 // Scope data |
233 // Scope data |
235 // TODO: make a List |
234 // TODO: make a List |
236 ScopeInfo mScopeStack[MAX_SCOPE]; |
235 ScopeInfo mScopeStack[MAX_SCOPE]; |
237 |
236 |
238 DataBuffer* buffer(); |
237 DataBuffer* buffer(); |
239 ConstantInfo* FindConstant (const String& tok); |
|
240 void ParseStateBlock(); |
238 void ParseStateBlock(); |
241 void ParseEventBlock(); |
239 void ParseEventBlock(); |
242 void ParseMainloop(); |
240 void ParseMainloop(); |
243 void ParseOnEnterExit(); |
241 void ParseOnEnterExit(); |
244 void ParseVariableDeclaration(); |
242 void ParseVariableDeclaration(); |