1 (* "We use the word _temporary_ to mean a value that is temporarily held in a
2 * register, and the word _label_ to mean some machine-language location whose
3 * exact address is yet to be determined - just like a label in assembly
4 * language." ch. 6.2, p. 139 *)
6 (* "temp" is an abstract name of "local variable" *)
11 (** "newtemp" - new temporary from an infinite set of temps. *)
13 val to_string : t -> string
16 (* "label" is an abstract name for "static memory address" *)
21 (** "newlabel" - new label from an infinite set of labels. *)
23 val of_string : string -> t
24 (** "namedlabel" - new label whose assembly-language name is string. *)
26 val to_string : t -> string