Begin translation module
[tiger.ml.git] / compiler / src / lib / tiger / tiger_translate.mli
index 7f71711..ca4b0b2 100644 (file)
@@ -1 +1,26 @@
-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 *)
This page took 0.019818 seconds and 4 git commands to generate.