Commit | Line | Data |
---|---|---|
cc540a7e SK |
1 | module Level : sig |
2 | type t | |
3 | ||
4 | val init : t | |
5 | (** "outermost" in Applel's code *) | |
6 | ||
7 | val next : t -> name:Tiger_temp.Label.t -> formals:bool list -> t | |
8 | (** "newLevel" in Appel's code *) | |
9 | end | |
10 | ||
6ca1afb7 SK |
11 | type gen_stm = |
12 | (Tiger_temp.Label.t * Tiger_temp.Label.t) -> Tiger_tree.stm | |
13 | ||
14 | type exp | |
cc540a7e SK |
15 | |
16 | type access | |
17 | ||
18 | val alloc_local : level:Level.t -> escapes:bool -> access | |
19 | ||
20 | val formals : level:Level.t -> access list | |
6ca1afb7 SK |
21 | |
22 | val unEx : exp -> Tiger_tree.exp | |
23 | val unNx : exp -> Tiger_tree.stm | |
24 | val unCx : exp -> gen_stm | |
25 | ||
26 | val dummy__FIXME : exp (* FIXME: Remove dummy when real is ready *) |