aboutsummaryrefslogtreecommitdiffstats
path: root/src/translation/HTLgen.v
diff options
context:
space:
mode:
authorJames Pollard <james@pollard.dev>2020-06-02 15:28:43 +0100
committerJames Pollard <james@pollard.dev>2020-06-02 15:28:43 +0100
commit6d11e8674a3bf910d0df6600e8db9e8748844cf0 (patch)
treeb395c35b59825df6bc5b6c052499d7aac3a5d83d /src/translation/HTLgen.v
parent66c6f9da947d96683391105a99f570396864491b (diff)
parent5416713c9d6a64839fabf2a923e4dd3bb25ac5fc (diff)
downloadvericert-6d11e8674a3bf910d0df6600e8db9e8748844cf0.tar.gz
vericert-6d11e8674a3bf910d0df6600e8db9e8748844cf0.zip
Merge branch 'develop' into arrays-proof
Diffstat (limited to 'src/translation/HTLgen.v')
-rw-r--r--src/translation/HTLgen.v20
1 files changed, 5 insertions, 15 deletions
diff --git a/src/translation/HTLgen.v b/src/translation/HTLgen.v
index 4564237..aa965fc 100644
--- a/src/translation/HTLgen.v
+++ b/src/translation/HTLgen.v
@@ -371,19 +371,9 @@ Definition max_state (f: function) : state :=
Definition transl_module (f : function) : Errors.res module :=
run_mon (max_state f) (transf_module f).
-Fixpoint main_function (main : ident) (flist : list (ident * AST.globdef fundef unit))
-{struct flist} : option function :=
- match flist with
- | (i, AST.Gfun (AST.Internal f)) :: xs =>
- if Pos.eqb i main
- then Some f
- else main_function main xs
- | _ :: xs => main_function main xs
- | nil => None
- end.
+Definition transl_fundef := transf_partial_fundef transl_module.
-Definition transf_program (d : program) : Errors.res module :=
- match main_function d.(AST.prog_main) d.(AST.prog_defs) with
- | Some f => transl_module f
- | _ => Errors.Error (Errors.msg "HTL: could not find main function")
- end.
+(** Translation of a whole program. *)
+
+Definition transl_program (p: RTL.program) : Errors.res HTL.program :=
+ transform_partial_program transl_fundef p.