fmt
This commit is contained in:
parent
1921101d45
commit
edb1219070
1 changed files with 9 additions and 9 deletions
|
@ -126,15 +126,15 @@ let free_variables =
|
|||
let rec fvs = function
|
||||
| S.Literal _ -> M.empty
|
||||
| S.Variable x -> M.singleton x
|
||||
| S.While (cond, e) -> unions fvs [cond;e]
|
||||
| S.While (cond, e) -> unions fvs [ cond; e ]
|
||||
| S.Define (vd, a) ->
|
||||
let liste_def_valeur =
|
||||
match vd with
|
||||
| S.SimpleValue (id,expr) -> [(id,expr)]
|
||||
| S.RecFunctions (list) -> list
|
||||
in
|
||||
let id, expr = List.split liste_def_valeur in
|
||||
M.diff (unions fvs (a::expr)) (M.of_list id)
|
||||
match vd with
|
||||
| S.SimpleValue (id, expr) -> [ id, expr ]
|
||||
| S.RecFunctions list -> list
|
||||
in
|
||||
let id, expr = List.split liste_def_valeur in
|
||||
M.diff (unions fvs (a :: expr)) (M.of_list id)
|
||||
| S.ReadBlock (a, b) -> unions fvs [ a; b ]
|
||||
| S.Apply (a, b) -> unions fvs (a :: b)
|
||||
| S.WriteBlock (a, b, c) | S.IfThenElse (a, b, c) -> unions fvs [ a; b; c ]
|
||||
|
@ -149,7 +149,7 @@ let free_variables =
|
|||
unions fvs ((a :: ExtStd.Array.present_to_list b) @ c)
|
||||
in
|
||||
fun e -> M.elements (fvs e)
|
||||
|
||||
;;
|
||||
|
||||
(** A closure compilation environment relates an identifier to the way
|
||||
it is accessed in the compiled version of the function's
|
||||
|
|
Reference in a new issue