(*
types.ml
15-411
by Arthur O'Dwyer
*)
(* @version $Id: types.ml,v 1.2 2004/10/26 05:10:08 ajo Exp $ *)
type temp = int
(* Types involved with register allocation *)
type register = int
type stackslot = int
type regalloc_t = REGISTER of register
| STACKSLOT of stackslot
| TEMP of temp
(* The type of an instruction *)
type instr =
| OPER of (string * regalloc_t list * regalloc_t list)
| LIVEOPER of (string * regalloc_t list * regalloc_t list)
| MOVE of (string * regalloc_t * regalloc_t)
| JUMP of string
| LABEL of string
| COMMENT of string