/
flat_Bsl.mli
55 lines (40 loc) · 1.52 KB
/
flat_Bsl.mli
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
(*
Copyright © 2011 MLstate
This file is part of OPA.
OPA is free software: you can redistribute it and/or modify it under the
terms of the GNU Affero General Public License, version 3, as published by
the Free Software Foundation.
OPA is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for
more details.
You should have received a copy of the GNU Affero General Public License
along with OPA. If not, see <http://www.gnu.org/licenses/>.
*)
(**
Flat Compiler : Bypass Projection
@author Mathieu Barbin
@author David Rajchenbach-Teller
@author Valentin Gatien-Baron
*)
(** {6 Compositionality} *)
(**
The module should be restarted before each compilation unit
*)
val reset : unit -> unit
(** {6 CTrans} *)
module ML_CTrans : BslInterface.ML_CTRANS
val build_ctrans_env :
?typesmap:BslInterface.typesmap ->
Qml2ocamlOptions.argv_options ->
ML_CTrans.env
(**
In the ctrans_env there is a map of seg-fault bypass.t
collected during the projection (not give the error directly,
and fail at bypass resolution only if this bypass is used)
Currently the string is a message of error, None if no error.
TODO: clean-up, use QmlError, etc...
*)
val is_segfault : BslKey.t -> ML_CTrans.env -> string option
(** {6 BSL} *)
module FlatBSL : BslInterface.BSLINTROSPECTION with type ml_ctrans_env = ML_CTrans.env