summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/pretty_print_lem.ml1
-rw-r--r--src/spec_analysis.ml9
2 files changed, 9 insertions, 1 deletions
diff --git a/src/pretty_print_lem.ml b/src/pretty_print_lem.ml
index 169bd824..7d2cc479 100644
--- a/src/pretty_print_lem.ml
+++ b/src/pretty_print_lem.ml
@@ -1444,6 +1444,7 @@ let rec doc_def_lem type_env def =
| DEF_mapdef (MD_aux (_, (l, _))) -> unreachable l __POS__ "Lem doesn't support mappings"
| DEF_pragma _ -> empty
+ | DEF_measure _ -> empty (* we might use these in future *)
let find_exc_typ defs =
let is_exc_typ_def = function
diff --git a/src/spec_analysis.ml b/src/spec_analysis.ml
index 634b34b6..907a2f10 100644
--- a/src/spec_analysis.ml
+++ b/src/spec_analysis.ml
@@ -502,7 +502,14 @@ let fv_of_def consider_var consider_scatter_as_one all_defs = function
| DEF_scattered sdef -> fv_of_scattered consider_var consider_scatter_as_one all_defs sdef
| DEF_reg_dec rdec -> fv_of_rd consider_var rdec
| DEF_pragma _ -> mt,mt
- | DEF_measure _ -> mt,mt (* currently removed beforehand *)
+ (* removed beforehand for Coq, but may still be present otherwise *)
+ | DEF_measure(id,pat,exp) ->
+ let i = string_of_id id in
+ let used = Nameset.of_list [i; "val:"^i] in
+ ((fun (_,u,_) -> Nameset.singleton ("measure:"^i),u)
+ (fv_of_pes consider_var mt used mt
+ [Pat_aux(Pat_exp (pat,exp),(Unknown,Type_check.empty_tannot))]))
+
let group_defs consider_scatter_as_one (Ast.Defs defs) =
List.map (fun d -> (fv_of_def false consider_scatter_as_one defs d,d)) defs