-type exp = unit
+module Level : sig
+ type t
+
+ val init : t
+ (** "outermost" in Applel's code *)
+
+ val next : t -> name:Tiger_temp.Label.t -> formals:bool list -> t
+ (** "newLevel" in Appel's code *)
+end
+
+type gen_stm =
+ (Tiger_temp.Label.t * Tiger_temp.Label.t) -> Tiger_tree.stm
+
+type exp
+
+type access
+
+val alloc_local : level:Level.t -> escapes:bool -> access
+
+val formals : level:Level.t -> access list
+
+val unEx : exp -> Tiger_tree.exp
+val unNx : exp -> Tiger_tree.stm
+val unCx : exp -> gen_stm
+
+val dummy__FIXME : exp (* FIXME: Remove dummy when real is ready *)