#ifndef TYPES_H #define TYPES_H #include "nodes.h" typedef struct binding { char* name; NODE* tree; struct environ *env; } BIND; typedef struct blist { BIND* binding; struct blist *next; } BLIST; typedef struct environ { BLIST *bindings; struct environ *parent; } ENV; typedef struct tac_elem { TOKEN* src; TOKEN* dst; TOKEN* tgt; int op; } TAC_T; typedef struct tac_list { TAC_T* elem; struct tac_list* next; } TLIST; typedef struct tacs { TLIST* list; } TACS; typedef struct reg { int num; int stored; } REG; typedef struct varloc { TOKEN* var; int loc_idx; } VARLOC; #endif