summaryrefslogtreecommitdiff
path: root/src/process_file.ml
diff options
context:
space:
mode:
authorAlasdair Armstrong2018-01-12 18:05:02 +0000
committerAlasdair Armstrong2018-01-12 18:05:02 +0000
commit59999c6a65e7fb3bd2caba4babc7831061027b92 (patch)
tree08b7d604d552abbcdf2b6e61b79432e2efcc70f2 /src/process_file.ml
parente56eafdb87f3f4e362cca7d0a6ca3d8a0e849b44 (diff)
parent83538020553691efe472984ee16ebd04eb252f82 (diff)
Merge remote-tracking branch 'origin/experiments' into sail2
Diffstat (limited to 'src/process_file.ml')
-rw-r--r--src/process_file.ml13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/process_file.ml b/src/process_file.ml
index ca23d876..435beb3c 100644
--- a/src/process_file.ml
+++ b/src/process_file.ml
@@ -99,10 +99,19 @@ let check_ast (defs : unit Ast.defs) : Type_check.tannot Ast.defs * Type_check.E
let opt_ddump_raw_mono_ast = ref false
let opt_dmono_analysis = ref 0
let opt_auto_mono = ref false
+let opt_mono_rewrites = ref false
+let opt_dall_split_errors = ref false
let monomorphise_ast locs type_env ast =
- let ast = Monomorphise.monomorphise (!Pretty_print_lem.opt_mwords) (!opt_auto_mono) (!opt_dmono_analysis)
- locs type_env ast in
+ let open Monomorphise in
+ let opts = {
+ auto = !opt_auto_mono;
+ debug_analysis = !opt_dmono_analysis;
+ rewrites = !opt_mono_rewrites;
+ rewrite_size_parameters = !Pretty_print_lem.opt_mwords;
+ all_split_errors = !opt_dall_split_errors
+ } in
+ let ast = monomorphise opts locs type_env ast in
let () = if !opt_ddump_raw_mono_ast then Pretty_print_sail.pp_defs stdout ast else () in
let ienv = Type_check.Env.no_casts Type_check.initial_env in
Type_check.check ienv ast