X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=compiler%2Fsrc%2Flib%2Ftiger%2Ftiger_translate.mli;h=ca4b0b284091d439dbfe4e9e0febbe9568703f10;hb=HEAD;hp=7f71711273e66877c712e266684ec6f122dba78b;hpb=4204350300f47d6df974611b26911cf32c68d6eb;p=tiger.ml.git diff --git a/compiler/src/lib/tiger/tiger_translate.mli b/compiler/src/lib/tiger/tiger_translate.mli index 7f71711..ca4b0b2 100644 --- a/compiler/src/lib/tiger/tiger_translate.mli +++ b/compiler/src/lib/tiger/tiger_translate.mli @@ -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 *)