Attention une mise à jour du service Gitlab va être effectuée le mardi 18 janvier (et non lundi 17 comme annoncé précédemment) entre 18h00 et 18h30. Cette mise à jour va générer une interruption du service dont nous ne maîtrisons pas complètement la durée mais qui ne devrait pas excéder quelques minutes.

Commit 66cfe43d authored by Francois Bobot's avatar Francois Bobot
Browse files

inlining driver aware

parent a245cfc3
......@@ -66,7 +66,7 @@ and replacep env f =
and substt env d = t_map (replacet env) (replacep env) d
and substp env d = f_map (replacet env) (replacep env) d
let fold isnotinlinedt isnotinlinedf d (env, task) =
let fold q isnotinlinedt isnotinlinedf d (env, task) =
(* Format.printf "I see : %a@\n%a@\n" Pretty.print_decl d print_env env;*)
match d.d_node with
| Dlogic [ls,ld] -> begin
......@@ -77,13 +77,15 @@ let fold isnotinlinedt isnotinlinedf d (env, task) =
match e with
| Term t ->
let t = replacet env t in
if t_s_any ffalse ((==) ls) t || isnotinlinedt t
if isnotinlinedt t || Driver.query_remove q ls.ls_name
|| t_s_any ffalse ((==) ls) t
then env, add_decl task
(create_logic_decl [make_fs_defn ls vs t])
else {env with fs = Mls.add ls (vs,t) env.fs},task
| Fmla f ->
let f = replacep env f in
if f_s_any ffalse ((==) ls) f || isnotinlinedf f
if isnotinlinedf f || Driver.query_remove q ls.ls_name ||
f_s_any ffalse ((==) ls) f
then env, add_decl task
(create_logic_decl [make_ps_defn ls vs f])
else {env with ps = Mls.add ls (vs,f) env.ps},task
......@@ -105,15 +107,15 @@ let fold isnotinlinedt isnotinlinedf d (env, task) =
| Dprop (k,pr,f) ->
env,add_decl task (create_prop_decl k pr (replacep env f))
let fold isnotinlinedt isnotinlinedf task0 (env, task) =
let fold q isnotinlinedt isnotinlinedf task0 (env, task) =
match task0.task_decl with
| Decl d -> fold isnotinlinedt isnotinlinedf d (env, task)
| Decl d -> fold q isnotinlinedt isnotinlinedf d (env, task)
| td -> env, add_tdecl task td
let t ~isnotinlinedt ~isnotinlinedf =
Register.store
(fun () -> Trans.fold_map
(fold isnotinlinedt isnotinlinedf)
Register.store_query
(fun query -> Trans.fold_map
(fold query isnotinlinedt isnotinlinedf)
empty_env None)
let all = t ~isnotinlinedt:(fun _ -> false) ~isnotinlinedf:(fun _ -> false)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment