0
|
1 #ifndef PARSER_H__
|
|
2 #define PARSER_H__
|
|
3
|
|
4 #include "structs.h"
|
|
5
|
|
6 worker_def * create_worker(program * prog, char * name, int num_inputs, int num_outputs, short type);
|
|
7 int find_worker(char * name, int * num_inputs, int * num_outputs, program * prog, worker_def ** def);
|
|
8 int generic_add_to_def(worker_def * parent, char * name,int display_type, int type, int num_inputs, int num_outputs, double xpos, double ypos);
|
|
9 int add_worker_to_def(worker_def * parent, worker_def * worker, double xpos, double ypos);
|
|
10 int find_object(worker_def * def, char * name, int type);
|
|
11 int create_find_room(worker_def * def, char * name, double xpos, double ypos);
|
|
12 int add_constant(worker_def * def, char * value, double xpos, double ypos);
|
|
13 int add_input(worker_def * def, char * name, double xpos, double ypos);
|
|
14 int add_input_num(worker_def * def, char * name, int input_num, double xpos, double ypos);
|
|
15 int add_output_num(worker_def * def, char * name, int input_num, double xpos, double ypos);
|
|
16 int add_output(worker_def * def, char * name, double xpos, double ypos);
|
|
17 int create_find_output(worker_def * def, char * name, double xpos, double ypos);
|
|
18 void add_wire(worker_def * def, int start, int output_num, int end, int input_num);
|
|
19 int process_expression(worker_def * def, int num_outputs, char ** outvars, int num_inputs, char ** inputs, char * workername, BOOL worker_expr, int block_depth, int * block_workers, int * block_output, int last_worker);
|
|
20 int parse_body(worker_def * def, char * code, int len, int prev_block_depth, int * prev_block_output, int * prev_block_workers);
|
|
21 company * create_company(program * prog, char * name, int num_workers, int num_rooms, BOOL buildable);
|
|
22 int add_method(company * this_comp, worker_def * def);
|
|
23 void parse(char * code, int len, program * prog);
|
|
24
|
|
25
|
|
26 #endif //PARSER_H__
|
|
27
|