#define MAX_REGISTERS 256 struct gen_register_file { struct { bool used; bool wide; } reg[MAX_REGISTERS]; int num_used; int max_used; }; struct gen_stack { int pointer; int max_pointer; }; struct gen_class { FILE * fp; gen_proc_t * p; }; struct gen_proc_t { int label_id; struct gen_register_file * rf; struct gen_stack * stack; struct gen_class * class; }; struct gen_type_t { int rec_id; struct gen_class * class; }; struct gen_var_t { int reg; }; struct gen_block_t { }; struct gen_context_t { gen_module_t * current_m; }; struct gen_module_t { struct gen_class * class; int rec_id; };