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