summaryrefslogtreecommitdiff
path: root/parsing/pprintast.mli
blob: a77fb6c16d26430a4f763f4c877cff860174c9ef (plain)
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
(***********************************************************************)
(*                                                                     *)
(*                                OCaml                                *)
(*                                                                     *)
(*            Hongbo Zhang (University of Pennsylvania)                *)
(*                                                                     *)
(*  Copyright 1996 Institut National de Recherche en Informatique et   *)
(*  en Automatique.  All rights reserved.  This file is distributed    *)
(*  under the terms of the Q Public License version 1.0.               *)
(*                                                                     *)
(***********************************************************************)

type space_formatter = (unit, Format.formatter, unit) format
class printer :
  unit ->
  object ('b)
    val pipe : bool
    val semi : bool
    method binding :
      Format.formatter -> Parsetree.value_binding -> unit
    method bindings:
        Format.formatter ->
          Asttypes.rec_flag * Parsetree.value_binding list ->
            unit
    method case_list :
      Format.formatter -> Parsetree.case list -> unit
    method class_expr : Format.formatter -> Parsetree.class_expr -> unit
    method class_field : Format.formatter -> Parsetree.class_field -> unit
    method class_params_def :
      Format.formatter -> (Parsetree.core_type * Asttypes.variance) list -> unit
    method class_signature :
      Format.formatter -> Parsetree.class_signature -> unit
    method class_structure :
      Format.formatter -> Parsetree.class_structure -> unit
    method class_type : Format.formatter -> Parsetree.class_type -> unit
    method class_type_declaration_list :
      Format.formatter -> Parsetree.class_type_declaration list -> unit
    method constant : Format.formatter -> Asttypes.constant -> unit
    method constant_string : Format.formatter -> string -> unit
    method constructor_declaration :
      Format.formatter -> (string * Parsetree.constructor_arguments
                           * Parsetree.core_type option * Parsetree.attributes)
        -> unit
    method core_type : Format.formatter -> Parsetree.core_type -> unit
    method core_type1 : Format.formatter -> Parsetree.core_type -> unit
    method direction_flag :
      Format.formatter -> Asttypes.direction_flag -> unit
    method directive_argument :
      Format.formatter -> Parsetree.directive_argument -> unit
    method exception_declaration :
      Format.formatter -> Parsetree.extension_constructor -> unit
    method expression : Format.formatter -> Parsetree.expression -> unit
    method expression1 : Format.formatter -> Parsetree.expression -> unit
    method expression2 : Format.formatter -> Parsetree.expression -> unit
    method extension_constructor :
      Format.formatter -> Parsetree.extension_constructor -> unit
    method label_exp :
      Format.formatter ->
      Asttypes.arg_label * Parsetree.expression option * Parsetree.pattern ->
      unit
    method label_x_expression_param :
      Format.formatter -> Asttypes.arg_label * Parsetree.expression -> unit
    method list :
      ?sep:space_formatter ->
      ?first:space_formatter ->
      ?last:space_formatter ->
      (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a list -> unit
    method longident : Format.formatter -> Longident.t -> unit
    method longident_loc :
      Format.formatter -> Longident.t Asttypes.loc -> unit
    method module_expr : Format.formatter -> Parsetree.module_expr -> unit
    method module_type : Format.formatter -> Parsetree.module_type -> unit
    method mutable_flag : Format.formatter -> Asttypes.mutable_flag -> unit
    method option :
      ?first:space_formatter ->
      ?last:space_formatter ->
      (Format.formatter -> 'a -> unit) ->
      Format.formatter -> 'a option -> unit
    method paren :
        ?first:space_formatter -> ?last:space_formatter -> bool ->
          (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a -> unit
    method pattern : Format.formatter -> Parsetree.pattern -> unit
    method pattern1 : Format.formatter -> Parsetree.pattern -> unit
    method payload : Format.formatter -> Parsetree.payload -> unit
    method private_flag : Format.formatter -> Asttypes.private_flag -> unit
    method rec_flag : Format.formatter -> Asttypes.rec_flag -> unit
    method nonrec_flag : Format.formatter -> Asttypes.rec_flag -> unit
    method record_declaration :
        Format.formatter -> Parsetree.label_declaration list -> unit

    method reset : 'b
    method reset_semi : 'b
    method reset_ifthenelse : 'b
    method reset_pipe : 'b

    method signature :
      Format.formatter -> Parsetree.signature_item list -> unit
    method signature_item :
      Format.formatter -> Parsetree.signature_item -> unit
    method simple_expr : Format.formatter -> Parsetree.expression -> unit
    method simple_pattern : Format.formatter -> Parsetree.pattern -> unit
    method string_quot : Format.formatter -> Asttypes.label -> unit
    method structure :
      Format.formatter -> Parsetree.structure_item list -> unit
    method structure_item :
      Format.formatter -> Parsetree.structure_item -> unit
    method sugar_expr : Format.formatter -> Parsetree.expression -> bool
    method toplevel_phrase :
      Format.formatter -> Parsetree.toplevel_phrase -> unit
    method type_declaration :
      Format.formatter -> Parsetree.type_declaration -> unit
    method type_def_list :
      Format.formatter -> Asttypes.rec_flag * Parsetree.type_declaration list
        -> unit
    method type_extension :
      Format.formatter -> Parsetree.type_extension -> unit
    method type_param :
      Format.formatter -> Parsetree.core_type * Asttypes.variance -> unit
    method type_params :
      Format.formatter -> (Parsetree.core_type * Asttypes.variance) list -> unit
    method type_with_label :
      Format.formatter -> Asttypes.arg_label * Parsetree.core_type -> unit
    method tyvar : Format.formatter -> string -> unit
    method under_pipe : 'b
    method under_semi : 'b
    method under_ifthenelse : 'b
    method value_description :
      Format.formatter -> Parsetree.value_description -> unit
    method virtual_flag : Format.formatter -> Asttypes.virtual_flag -> unit
    method attribute : Format.formatter -> Parsetree.attribute -> unit
    method item_attribute : Format.formatter -> Parsetree.attribute -> unit
    method floating_attribute : Format.formatter -> Parsetree.attribute -> unit
    method attributes : Format.formatter -> Parsetree.attributes -> unit
    method item_attributes : Format.formatter -> Parsetree.attributes -> unit
    method extension : Format.formatter -> Parsetree.extension -> unit
    method item_extension : Format.formatter -> Parsetree.extension -> unit
  end
val default : printer
val toplevel_phrase : Format.formatter -> Parsetree.toplevel_phrase -> unit
val expression : Format.formatter -> Parsetree.expression -> unit
val string_of_expression : Parsetree.expression -> string
val top_phrase: Format.formatter -> Parsetree.toplevel_phrase -> unit
val core_type: Format.formatter -> Parsetree.core_type -> unit
val pattern: Format.formatter -> Parsetree.pattern -> unit
val signature: Format.formatter -> Parsetree.signature -> unit
val structure: Format.formatter -> Parsetree.structure -> unit
val string_of_structure: Parsetree.structure -> string