-
Notifications
You must be signed in to change notification settings - Fork 125
/
flat_Compiler.mli
72 lines (55 loc) · 1.75 KB
/
flat_Compiler.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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
(*
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 : Compilation of Expression
@author Mathieu Barbin
@author David Rajchenbach-Teller
@author Louis Gesbert
*)
(** {6 Field Registration} *)
type label = string
(**
Register a shared variable for fields.
All definition of shared fiels will be produced at toplevel,
in the beginning of the code.
*)
val register_field_name : label -> unit
(**
Probably needed: register all vtables, by folding type definitions.
*)
(** {6 Processing code} *)
(**
Where to load primitives from plugins.
Used by the pass BslLoading.
*)
val dynloader : Qml2ocaml.dynloader
(**
This is the function considered as the pass.
It contains the loading of previous environment,
the compilation of the current package,
the saving of the current environment, and the reset
of the private imperative tables of the flat.
*)
val qml_to_ocaml : Qml2ocaml.qml_to_ocaml
(**
For the consol application.
*)
val back_end : Qml2ocaml.back_end
(** {6 Options} *)
module Arg:
sig
val options : (Base.Arg.key * Base.Arg.spec * Base.Arg.doc) list
end
(** {6 Warnings} *)
val warning_set : WarningClass.Set.t