Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec / src / backends / Ada / ada_printer.mli @ 173a2a8f

History | View | Annotate | Download (2.41 KB)

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 * (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) -> 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
*)