(** Les temporaires **) type temp val new_temp : unit -> temp (* Génère une nouveau temporaire *) val registers : temp array (* les temporaires spéciaux qui coïcideront avec des registres *) (** les étiquettes **) type label val new_label: unit -> label (* géenère une nouvelle étiquette *) val named_label : string -> label (* retourne une étiquette avec le nom passé en argument. Échoue si une étiquette de ce nom existe déjà *) val prefixed_label : string -> label (* idem, mais ajoute un suffixe si le nome existe au lieu d'echouer *) (* utile pour imprimer les étiquettes et les temporaires *) val temp_string : temp -> string val temp_int : temp -> int val int_temp : int -> temp val label_string : label -> string