00001 #define MAXLABELSZ 512 00002 /* Internal representation of intermediate code sequences */ 00003 struct RIC_instr { 00004 int op_code; 00005 int arg[3]; /* Only used if label_arg = FALSE */ 00006 struct RIC_instr * next_instr; 00007 struct RIC_instr * prev_instr; 00008 /* Fields set by set_regs */ 00009 int result_reg; /* The result register */ 00010 int op1_reg; /* Positions of operand registers, i.e. 0,1,2 */ 00011 int op2_reg; /* or NONE */ 00012 # define NONE -1 00013 boolean side_effect; 00014 boolean label_arg; 00015 boolean second_decl; /* This is a redeclaration of a previously used */ 00016 /* location. */ 00017 char label[1]; /* Only used if label_arg = TRUE */ 00018 } RIC_instr; 00019 00020 # define RIC_nil ((struct RIC_instr *)0) 00021