Up

module OCaml

: sig
#
module Id : Sig.Id
#
module Make : functor (Syntax : Sig.Camlp4Syntax) -> sig
include Sig.Camlp4Syntax with module Loc = Syntax.Loc and module Token = Syntax.Token and module Ast = Syntax.Ast and module Gram = Syntax.Gram
#
type sep = (unit, Format.formatter, unit) Pervasives.format
#
type fun_binding = [
| `patt of Ast.patt
| `newtype of string
]
#
val list' : (Format.formatter -> 'a -> unit) -> ('b, Format.formatter, unit) Pervasives.format -> (unit, Format.formatter, unit) Pervasives.format -> Format.formatter -> 'a list -> unit
#
val list : (Format.formatter -> 'a -> unit) -> ('b, Format.formatter, unit) Pervasives.format -> Format.formatter -> 'a list -> unit
#
val lex_string : string -> Token.t
#
val is_infix : string -> bool
#
val is_keyword : string -> bool
#
val ocaml_char : string -> string
#
val get_expr_args : Ast.expr -> Ast.expr list -> Ast.expr * Ast.expr list
#
val get_patt_args : Ast.patt -> Ast.patt list -> Ast.patt * Ast.patt list
#
val get_ctyp_args : Ast.ctyp -> Ast.ctyp list -> Ast.ctyp * Ast.ctyp list
#
val expr_fun_args : Ast.expr -> fun_binding list * Ast.expr
#
class printer : ?curry_constr:bool option -> ?comments:bool option -> unit -> ('a)
#
method interf : Format.formatter -> Ast.sig_item -> unit
#
method implem : Format.formatter -> Ast.str_item -> unit
#
method sig_item : Format.formatter -> Ast.sig_item -> unit
#
method str_item : Format.formatter -> Ast.str_item -> unit
#
val pipe : bool
#
val semi : bool
#
val semisep : sep
#
val no_semisep : sep
#
method value_val : string
#
method value_let : string
#
method andsep : sep
#
method anti : Format.formatter -> string -> unit
#
method class_declaration : Format.formatter -> Ast.class_expr -> unit
#
method class_expr : Format.formatter -> Ast.class_expr -> unit
#
method class_sig_item : Format.formatter -> Ast.class_sig_item -> unit
#
method class_str_item : Format.formatter -> Ast.class_str_item -> unit
#
method class_type : Format.formatter -> Ast.class_type -> unit
#
method constrain : Format.formatter -> Ast.ctyp * Ast.ctyp -> unit
#
method ctyp : Format.formatter -> Ast.ctyp -> unit
#
method ctyp1 : Format.formatter -> Ast.ctyp -> unit
#
method constructor_type : Format.formatter -> Ast.ctyp -> unit
#
method dot_expr : Format.formatter -> Ast.expr -> unit
#
method apply_expr : Format.formatter -> Ast.expr -> unit
#
method expr : Format.formatter -> Ast.expr -> unit
#
method expr_list : Format.formatter -> Ast.expr list -> unit
#
method expr_list_cons : bool -> Format.formatter -> Ast.expr -> unit
#
method fun_binding : Format.formatter -> fun_binding -> unit
#
method functor_arg_var : Format.formatter -> string -> unit
#
method functor_arg : Format.formatter -> string * Ast.module_type -> unit
#
method functor_args : Format.formatter -> (string * Ast.module_type) list -> unit
#
method ident : Format.formatter -> Ast.ident -> unit
#
method numeric : Format.formatter -> string -> string -> unit
#
method binding : Format.formatter -> Ast.binding -> unit
#
method record_binding : Format.formatter -> Ast.rec_binding -> unit
#
method match_case : Format.formatter -> Ast.match_case -> unit
#
method match_case_aux : Format.formatter -> Ast.match_case -> unit
#
method mk_expr_list : Ast.expr -> Ast.expr list * Ast.expr option
#
method mk_patt_list : Ast.patt -> Ast.patt list * Ast.patt option
#
method simple_module_expr : Format.formatter -> Ast.module_expr -> unit
#
method module_expr : Format.formatter -> Ast.module_expr -> unit
#
method module_expr_get_functor_args : (string * Ast.module_type) list -> Ast.module_expr -> (string * Ast.module_type) list * Ast.module_expr * Ast.module_type option
#
method module_rec_binding : Format.formatter -> Ast.module_binding -> unit
#
method module_type : Format.formatter -> Ast.module_type -> unit
#
method override_flag : Format.formatter -> Ast.override_flag -> unit
#
method mutable_flag : Format.formatter -> Ast.mutable_flag -> unit
#
method direction_flag : Format.formatter -> Ast.direction_flag -> unit
#
method rec_flag : Format.formatter -> Ast.rec_flag -> unit
#
method node : Format.formatter -> 'b -> ('b -> Loc.t) -> unit
#
method patt : Format.formatter -> Ast.patt -> unit
#
method patt1 : Format.formatter -> Ast.patt -> unit
#
method patt2 : Format.formatter -> Ast.patt -> unit
#
method patt3 : Format.formatter -> Ast.patt -> unit
#
method patt4 : Format.formatter -> Ast.patt -> unit
#
method patt5 : Format.formatter -> Ast.patt -> unit
#
method patt_tycon : Format.formatter -> Ast.patt -> unit
#
method patt_expr_fun_args : Format.formatter -> fun_binding * Ast.expr -> unit
#
method patt_class_expr_fun_args : Format.formatter -> Ast.patt * Ast.class_expr -> unit
#
method print_comments_before : Loc.t -> Format.formatter -> unit
#
method private_flag : Format.formatter -> Ast.private_flag -> unit
#
method virtual_flag : Format.formatter -> Ast.virtual_flag -> unit
#
method quoted_string : Format.formatter -> string -> unit
#
method raise_match_failure : Format.formatter -> Loc.t -> unit
#
method reset : 'a
#
method reset_semi : 'a
#
method semisep : sep
#
method set_comments : bool -> 'a
#
method set_curry_constr : bool -> 'a
#
method set_loc_and_comments : 'a
#
method set_semisep : sep -> 'a
#
method simple_ctyp : Format.formatter -> Ast.ctyp -> unit
#
method simple_expr : Format.formatter -> Ast.expr -> unit
#
method simple_patt : Format.formatter -> Ast.patt -> unit
#
method seq : Format.formatter -> Ast.expr -> unit
#
method string : Format.formatter -> string -> unit
#
method sum_type : Format.formatter -> Ast.ctyp -> unit
#
method type_params : Format.formatter -> Ast.ctyp list -> unit
#
method class_params : Format.formatter -> Ast.ctyp -> unit
#
method under_pipe : 'a
#
method under_semi : 'a
#
method var : Format.formatter -> string -> unit
#
method with_constraint : Format.formatter -> Ast.with_constr -> unit

new printer ~curry_constr:True ~comments:False Default values: curry_constr = False comments = True

#
val with_outfile : string option -> (Format.formatter -> 'a -> unit) -> 'a -> unit
#
val print : string option -> (printer -> Format.formatter -> 'a -> unit) -> 'a -> unit
end
#
module MakeMore : functor (Syntax : Sig.Camlp4Syntax) -> Sig.Printer(Syntax.Ast).S
end