# Class Pprintast.printer

    class printer : unit -> object .. end

    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 -> Parsetree.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 : 'a.
             ?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 : 'a.
             ?first:space_formatter ->
             ?last:space_formatter ->
             (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a option -> unit

    method paren : 'a.
             ?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 : < attribute : Format.formatter -> Parsetree.attribute -> unit;
             attributes : Format.formatter -> Parsetree.attributes -> unit;
             binding : Format.formatter -> Parsetree.value_binding -> unit;
             bindings : Format.formatter ->
                        Asttypes.rec_flag * Parsetree.value_binding list -> unit;
             case_list : Format.formatter -> Parsetree.case list -> unit;
             class_expr : Format.formatter -> Parsetree.class_expr -> unit;
             class_field : Format.formatter -> Parsetree.class_field -> unit;
             class_params_def : Format.formatter ->
                                (Parsetree.core_type * Asttypes.variance) list -> unit;
             class_signature : Format.formatter -> Parsetree.class_signature -> unit;
             class_structure : Format.formatter -> Parsetree.class_structure -> unit;
             class_type : Format.formatter -> Parsetree.class_type -> unit;
             class_type_declaration_list : Format.formatter ->
                                           Parsetree.class_type_declaration list -> unit;
             constant : Format.formatter -> Parsetree.constant -> unit;
             constant_string : Format.formatter -> string -> unit;
             constructor_declaration : Format.formatter ->
                                       string * Parsetree.constructor_arguments *
                                       Parsetree.core_type option * Parsetree.attributes ->
                                       unit;
             core_type : Format.formatter -> Parsetree.core_type -> unit;
             core_type1 : Format.formatter -> Parsetree.core_type -> unit;
             direction_flag : Format.formatter -> Asttypes.direction_flag -> unit;
             directive_argument : Format.formatter ->
                                  Parsetree.directive_argument -> unit;
             exception_declaration : Format.formatter ->
                                     Parsetree.extension_constructor -> unit;
             expression : Format.formatter -> Parsetree.expression -> unit;
             expression1 : Format.formatter -> Parsetree.expression -> unit;
             expression2 : Format.formatter -> Parsetree.expression -> unit;
             extension : Format.formatter -> Parsetree.extension -> unit;
             extension_constructor : Format.formatter ->
                                     Parsetree.extension_constructor -> unit;
             floating_attribute : Format.formatter -> Parsetree.attribute -> unit;
             item_attribute : Format.formatter -> Parsetree.attribute -> unit;
             item_attributes : Format.formatter -> Parsetree.attributes -> unit;
             item_extension : Format.formatter -> Parsetree.extension -> unit;
             label_exp : Format.formatter ->
                         Asttypes.arg_label * Parsetree.expression option *
                         Parsetree.pattern -> unit;
             label_x_expression_param : Format.formatter ->
                                        Asttypes.arg_label * Parsetree.expression ->
                                        unit;
             list : 'a.
                      ?sep:space_formatter ->
                      ?first:space_formatter ->
                      ?last:space_formatter ->
                      (Format.formatter -> 'a -> unit) ->
                      Format.formatter -> 'a list -> unit;
             longident : Format.formatter -> Longident.t -> unit;
             longident_loc : Format.formatter -> Longident.t Asttypes.loc -> unit;
             module_expr : Format.formatter -> Parsetree.module_expr -> unit;
             module_type : Format.formatter -> Parsetree.module_type -> unit;
             mutable_flag : Format.formatter -> Asttypes.mutable_flag -> unit;
             nonrec_flag : Format.formatter -> Asttypes.rec_flag -> unit;
             option : 'a.
                        ?first:space_formatter ->
                        ?last:space_formatter ->
                        (Format.formatter -> 'a -> unit) ->
                        Format.formatter -> 'a option -> unit;
             paren : 'a.
                       ?first:space_formatter ->
                       ?last:space_formatter ->
                       bool ->
                       (Format.formatter -> 'a -> unit) ->
                       Format.formatter -> 'a -> unit;
             pattern : Format.formatter -> Parsetree.pattern -> unit;
             pattern1 : Format.formatter -> Parsetree.pattern -> unit;
             payload : Format.formatter -> Parsetree.payload -> unit;
             private_flag : Format.formatter -> Asttypes.private_flag -> unit;
             rec_flag : Format.formatter -> Asttypes.rec_flag -> unit;
             record_declaration : Format.formatter ->
                                  Parsetree.label_declaration list -> unit;
             reset : 'b; reset_ifthenelse : 'b; reset_pipe : 'b; reset_semi : 'b;
             signature : Format.formatter -> Parsetree.signature_item list -> unit;
             signature_item : Format.formatter -> Parsetree.signature_item -> unit;
             simple_expr : Format.formatter -> Parsetree.expression -> unit;
             simple_pattern : Format.formatter -> Parsetree.pattern -> unit;
             string_quot : Format.formatter -> Asttypes.label -> unit;
             structure : Format.formatter -> Parsetree.structure_item list -> unit;
             structure_item : Format.formatter -> Parsetree.structure_item -> unit;
             sugar_expr : Format.formatter -> Parsetree.expression -> bool;
             toplevel_phrase : Format.formatter -> Parsetree.toplevel_phrase -> unit;
             type_declaration : Format.formatter -> Parsetree.type_declaration -> unit;
             type_def_list : Format.formatter ->
                             Asttypes.rec_flag * Parsetree.type_declaration list -> unit;
             type_extension : Format.formatter -> Parsetree.type_extension -> unit;
             type_param : Format.formatter ->
                          Parsetree.core_type * Asttypes.variance -> unit;
             type_params : Format.formatter ->
                           (Parsetree.core_type * Asttypes.variance) list -> unit;
             type_with_label : Format.formatter ->
                               Asttypes.arg_label * Parsetree.core_type -> unit;
             tyvar : Format.formatter -> string -> unit; under_ifthenelse : 'b;
             under_pipe : 'b; under_semi : 'b;
             value_description : Format.formatter -> Parsetree.value_description -> unit;
             virtual_flag : Format.formatter -> Asttypes.virtual_flag -> unit; .. >
           as '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