diff options
| author | Alasdair Armstrong | 2017-07-21 16:49:40 +0100 |
|---|---|---|
| committer | Alasdair Armstrong | 2017-07-21 16:49:40 +0100 |
| commit | b7b6ebc7da062141369d85cd263f1b07561cd396 (patch) | |
| tree | e5aff5fb55d846bd7d5d25fb42098a283218a545 /src/process_file.ml | |
| parent | 74f0ba28f7ca4eeff467eb938b919fab6e234f47 (diff) | |
| parent | ffed37084cd0d529a5be98266ed4946cd251e645 (diff) | |
Merge branch 'sail_new_tc' of https://bitbucket.org/Peter_Sewell/sail into sail_new_tc
Diffstat (limited to 'src/process_file.ml')
| -rw-r--r-- | src/process_file.ml | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/src/process_file.ml b/src/process_file.ml index b2054f40..438666e6 100644 --- a/src/process_file.ml +++ b/src/process_file.ml @@ -97,7 +97,7 @@ let opt_ddump_tc_ast = ref false let opt_dno_cast = ref false let opt_mono_split = ref ([]:((string * int) * string) list) -let check_ast (defs : Type_internal.tannot Ast.defs) (k : kind Envmap.t) (o:Ast.order) : Type_internal.tannot Ast.defs * Type_check.envs = +let check_ast (defs : Type_internal.tannot Ast.defs) (k : kind Envmap.t) (o:Ast.order) : Type_check_new.tannot Ast.defs * Type_check_new.Env.t = let d_env = { Type_internal.k_env = k; Type_internal.abbrevs = Type_internal.initial_abbrev_env; Type_internal.nabbrevs = Envmap.empty; Type_internal.namesch = Envmap.empty; Type_internal.enum_env = Envmap.empty; @@ -106,10 +106,10 @@ let check_ast (defs : Type_internal.tannot Ast.defs) (k : kind Envmap.t) (o:Ast. {Type_internal.order = (match o with | (Ast.Ord_aux(Ast.Ord_inc,_)) -> Type_internal.Oinc | (Ast.Ord_aux(Ast.Ord_dec,_)) -> Type_internal.Odec | _ -> Type_internal.Oinc)};} in - if !opt_new_typecheck - then + (* if !opt_new_typecheck + then *) let ienv = if !opt_dno_cast then Type_check_new.Env.no_casts Type_check_new.initial_env else Type_check_new.initial_env in - let ast, _ = Type_check_new.check ienv defs in + let ast, env = Type_check_new.check ienv defs in let ast = match !opt_mono_split with | [] -> ast | l -> @@ -118,16 +118,14 @@ let check_ast (defs : Type_internal.tannot Ast.defs) (k : kind Envmap.t) (o:Ast. let ast, _ = Type_check_new.check ienv ast in ast in - if !opt_ddump_tc_ast then Pretty_print.pp_defs stdout ast else () - else (); - if !opt_just_check - then exit 0 - else (); - Type_check.check (Type_check.Env (d_env, Type_internal.initial_typ_env,Type_internal.nob,Envmap.empty)) defs + let () = if !opt_ddump_tc_ast then Pretty_print.pp_defs stdout ast else () in + let () = if !opt_just_check then exit 0 else () in + (ast, env) + (* else Type_check.check (Type_check.Env (d_env, Type_internal.initial_typ_env,Type_internal.nob,Envmap.empty)) defs *) -let rewrite_ast (defs: Type_internal.tannot Ast.defs) = Rewriter.rewrite_defs defs -let rewrite_ast_lem (Type_check.Env (_, typ_env, _, _)) (defs: Type_internal.tannot Ast.defs) = Rewriter.rewrite_defs_lem typ_env defs -let rewrite_ast_ocaml (defs: Type_internal.tannot Ast.defs) = Rewriter.rewrite_defs_ocaml defs +let rewrite_ast (defs: Type_check_new.tannot Ast.defs) = Rewriter.rewrite_defs defs +let rewrite_ast_lem (defs: Type_check_new.tannot Ast.defs) = Rewriter.rewrite_defs_lem defs +let rewrite_ast_ocaml (defs: Type_check_new.tannot Ast.defs) = Rewriter.rewrite_defs_ocaml defs let open_output_with_check file_name = let (temp_file_name, o) = Filename.open_temp_file "ll_temp" "" in @@ -243,7 +241,6 @@ let output1 libpath out_arg filename defs = Pretty_print.pp_defs_ocaml o defs (generated_line filename) ["Big_int_Z"; "Sail_values"; lib]; close_output_with_check ext_o - let output libpath out_arg files = List.iter (fun (f, defs) -> |
