Rough frame allocations
[tiger.ml.git] / compiler / src / lib / tiger / tiger_env.ml
index 504e9bd..9f6417f 100644 (file)
@@ -1,5 +1,6 @@
 module Map   = Tiger_map
 module Sym   = Tiger_symbol
+module Translate = Tiger_translate
 module Type  = Tiger_env_type
 module Value = Tiger_env_value
 
@@ -7,12 +8,14 @@ type t =
   { typs : Type.env
   ; vals : Value.env
   ; loop : Sym.t option
+  ; level : Translate.Level.t
   }
 
 let base =
   { typs = Type.built_in
   ; vals = Value.built_in
   ; loop = None
+  ; level = Translate.Level.init
   }
 
 let get_typ {typs; _} k =
@@ -43,3 +46,9 @@ let loop_end t given =
 
 let loop_current {loop; _} =
   loop
+
+let level_set t level =
+  {t with level}
+
+let level_get {level; _} =
+  level
This page took 0.019527 seconds and 4 git commands to generate.