00001 #include "types.h"
00002
00003 ast_node_t* create_node_w_type(ids id, int line_number, int file_number);
00004 void free_child_in_tree(ast_node_t *from, int idx_removal);
00005 void free_ast_node(ast_node_t *child);
00006 void free_ast_node_only(ast_node_t *child);
00007
00008 ast_node_t* create_tree_node_id(char* string, int line_number, int file_number);
00009 ast_node_t *create_tree_node_long_long_number(long long number, int line_number, int file_number);
00010 ast_node_t *create_tree_node_number(char* number, int line_number, int file_number);
00011
00012 void allocate_children_to_node(ast_node_t* node, int num_children, ...);
00013 void add_child_to_node(ast_node_t* node, ast_node_t *child);
00014
00015 int get_range(ast_node_t* first_node);
00016
00017 void make_concat_into_list_of_strings(ast_node_t *concat_top);
00018 char *get_name_of_pin_at_bit(ast_node_t *var_node, int bit);
00019 char *get_name_of_var_declare_at_bit(ast_node_t *var_declare, int bit);
00020 char_list_t *get_name_of_pins(ast_node_t *var_node);
00021 char_list_t *get_name_of_pins_with_prefix(ast_node_t *var_node, char *instance_name_prefix);