165 botscript_parser(); |
165 botscript_parser(); |
166 ~botscript_parser(); |
166 ~botscript_parser(); |
167 void parse_botscript (string file_name, object_writer* w); |
167 void parse_botscript (string file_name, object_writer* w); |
168 data_buffer* ParseCommand (command_info* comm); |
168 data_buffer* ParseCommand (command_info* comm); |
169 data_buffer* parse_expression (type_e reqtype); |
169 data_buffer* parse_expression (type_e reqtype); |
170 data_buffer* ParseAssignment (script_variable* var); |
170 data_buffer* parse_assignment (script_variable* var); |
171 int parse_operator (bool peek = false); |
171 int parse_operator (bool peek = false); |
172 data_buffer* parse_expr_value (type_e reqtype); |
172 data_buffer* parse_expr_value (type_e reqtype); |
173 string parse_float (); |
173 string parse_float (); |
174 void push_scope (); |
174 void push_scope (); |
175 data_buffer* parse_statement (object_writer* w); |
175 data_buffer* parse_statement (); |
176 void add_switch_case (object_writer* w, data_buffer* b); |
176 void add_switch_case (data_buffer* b); |
177 void check_toplevel(); |
177 void check_toplevel(); |
178 void check_not_toplevel(); |
178 void check_not_toplevel(); |
179 bool token_is (e_token a); |
179 bool token_is (e_token a); |
180 string token_string(); |
180 string token_string(); |
181 string describe_position() const; |
181 string describe_position() const; |
182 |
182 |
183 private: |
183 private: |
184 lexer* m_lx; |
184 lexer* m_lx; |
185 object_writer* m_writer; |
185 object_writer* m_writer; |
|
186 |
186 void parse_state_block(); |
187 void parse_state_block(); |
187 void parse_event_block(); |
188 void parse_event_block(); |
188 void parse_mainloop(); |
189 void parse_mainloop(); |
189 void parse_on_enter_exit(); |
190 void parse_on_enter_exit(); |
190 void parse_variable_declaration(); |
191 void parse_variable_declaration(); |
197 void parse_switch_block(); |
198 void parse_switch_block(); |
198 void parse_switch_case(); |
199 void parse_switch_case(); |
199 void parse_switch_default(); |
200 void parse_switch_default(); |
200 void parse_break(); |
201 void parse_break(); |
201 void parse_continue(); |
202 void parse_continue(); |
202 void parse_continue(); |
|
203 void parse_block_end(); |
203 void parse_block_end(); |
204 void parse_const(); |
204 void parse_const(); |
205 void parse_label(); |
205 void parse_label(); |
206 }; |
206 }; |
207 |
207 |