#ifndef IR_H #define IR_H /* This is the tree node structure */ typedef struct n { node_index_t type; void *data; struct s *entry; uint64_t n_children; struct n **children; } node_t; // Export the initializer function, it is needed by the parser void node_init ( node_t *nd, node_index_t type, void *data, uint64_t n_children, ... ); typedef enum { SYM_GLOBAL_VAR, SYM_FUNCTION, SYM_PARAMETER, SYM_LOCAL_VAR } symtype_t; typedef struct s { char *name; symtype_t type; node_t *node; size_t seq; size_t nparms; tlhash_t *locals; } symbol_t; #endif