1
|
open Format
|
2
|
open Misc_printer
|
3
|
|
4
|
type parameter_mode = AdaNoMode | AdaIn | AdaOut | AdaInOut
|
5
|
|
6
|
type kind_def =
|
7
|
| AdaType
|
8
|
| AdaProcedure
|
9
|
| AdaFunction
|
10
|
| AdaPackageDecl
|
11
|
| AdaPackageBody
|
12
|
|
13
|
type visibility = AdaNoVisibility | AdaPrivate | AdaLimitedPrivate
|
14
|
|
15
|
type ada_with = (bool * bool * printer list * printer list) option
|
16
|
|
17
|
type ada_var_decl = parameter_mode * printer * printer * ada_with
|
18
|
|
19
|
type ada_local_decl =
|
20
|
| AdaLocalVar of ada_var_decl
|
21
|
| AdaLocalPackage of (printer * printer * (printer * printer) list)
|
22
|
|
23
|
type def_content =
|
24
|
| AdaNoContent
|
25
|
| AdaPackageContent of printer
|
26
|
| AdaSimpleContent of printer
|
27
|
| AdaVisibilityDefinition of visibility
|
28
|
| AdaProcedureContent of (ada_local_decl list list * printer list)
|
29
|
| AdaRecord of ada_var_decl list list
|
30
|
| AdaPackageInstanciation of (printer * (printer * printer) list)
|
31
|
|
32
|
val pp_integer_type : printer
|
33
|
|
34
|
val pp_float_type : printer
|
35
|
|
36
|
val pp_boolean_type : printer
|
37
|
|
38
|
val pp_clean_ada_identifier : formatter -> string -> unit
|
39
|
|
40
|
val pp_package_access : printer * printer -> printer
|
41
|
|
42
|
val pp_block : formatter -> printer list -> unit
|
43
|
|
44
|
val pp_oneline_comment : formatter -> string -> unit
|
45
|
|
46
|
val pp_with : visibility -> formatter -> printer -> unit
|
47
|
|
48
|
val pp_var_decl : ada_var_decl -> printer
|
49
|
|
50
|
val pp_access : printer -> printer -> formatter -> unit
|
51
|
|
52
|
val pp_call : formatter -> printer * printer list list -> unit
|
53
|
|
54
|
val pp_old : printer -> printer
|
55
|
|
56
|
val pp_adastring : printer -> printer
|
57
|
|
58
|
val pp_or : printer list -> printer
|
59
|
|
60
|
val pp_and : printer list -> printer
|
61
|
|
62
|
(* declaration printer *)
|
63
|
val pp_package : printer -> printer list -> bool -> formatter -> printer -> unit
|
64
|
|
65
|
val pp_package_instanciation :
|
66
|
printer -> printer -> formatter -> (printer * printer) list -> unit
|
67
|
|
68
|
val pp_type_decl : printer -> visibility -> printer
|
69
|
|
70
|
val pp_record : printer -> formatter -> ada_var_decl list list -> unit
|
71
|
|
72
|
val pp_procedure :
|
73
|
printer ->
|
74
|
ada_var_decl list list ->
|
75
|
ada_with ->
|
76
|
formatter ->
|
77
|
def_content ->
|
78
|
unit
|
79
|
|
80
|
val pp_predicate :
|
81
|
printer ->
|
82
|
ada_var_decl list list ->
|
83
|
bool ->
|
84
|
formatter ->
|
85
|
printer option ->
|
86
|
unit
|
87
|
(* Local function :
|
88
|
|
89
|
val pp_parameter_mode : formatter -> parameter_mode -> unit val pp_kind_def :
|
90
|
formatter -> kind_def -> unit val pp_visibility : formatter -> visibility ->
|
91
|
unit val pp_var_decl_lists : formatter -> ada_var_decl list list -> unit val
|
92
|
pp_def_args : formatter -> ada_var_decl list list -> unit val pp_def :
|
93
|
formatter -> (kind_def*printer*(ada_var_decl list list)*(printer
|
94
|
option)*def_content*(printer option)) -> unit *)
|