src/parser.h

changeset 77
ad17801b1a36
parent 75
bf8c57437231
child 82
841562f5a32f
equal deleted inserted replaced
76:c8058716070a 77:ad17801b1a36
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

mercurial