Begin translation module
[tiger.ml.git] / compiler / src / lib / tiger / tiger_temp.mli
CommitLineData
cc540a7e
SK
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 *)
5
6(* "temp" is an abstract name of "local variable" *)
7module Temp : sig
8 type t
9
10 val gen : unit -> t
11 (** "newtemp" - new temporary from an infinite set of temps. *)
12
13 val to_string : t -> string
14end
15
16(* "label" is an abstract name for "static memory address" *)
17module Label : sig
18 type t
19
20 val gen : unit -> t
21 (** "newlabel" - new label from an infinite set of labels. *)
22
23 val of_string : string -> t
24 (** "namedlabel" - new label whose assembly-language name is string. *)
25
26 val to_string : t -> string
27end
This page took 0.019423 seconds and 5 git commands to generate.