Module Ast_builder.Make

Parameters

module Loc : Loc

Signature

module Located : sig ... end
val attribute : name:string Astlib.Location.loc -> payload:Parsetree.payload -> Parsetree.attribute
val class_infos : virt:Asttypes.virtual_flag -> params: (Parsetree.core_type * (Asttypes.variance * Asttypes.injectivity)) list -> name:string Astlib.Location.loc -> expr:'a -> 'a Parsetree.class_infos
val class_signature : self:Parsetree.core_type -> fields:Parsetree.class_type_field list -> Parsetree.class_signature
val class_structure : self:Parsetree.pattern -> fields:Parsetree.class_field list -> Parsetree.class_structure
val ptyp_any : Parsetree.core_type
val ptyp_var : string -> Parsetree.core_type
val ptyp_tuple : Parsetree.core_type list -> Parsetree.core_type
val ptyp_alias : Parsetree.core_type -> string -> Parsetree.core_type
val ptyp_variant : Parsetree.row_field list -> Asttypes.closed_flag -> string list option -> Parsetree.core_type
val ptyp_extension : (string Astlib.Location.loc * Parsetree.payload) -> Parsetree.core_type
val pdir_string : string -> Parsetree.directive_argument
val pdir_int : string -> char option -> Parsetree.directive_argument
val pdir_bool : bool -> Parsetree.directive_argument
val pexp_function : Parsetree.case list -> Parsetree.expression
val pexp_variant : string -> Parsetree.expression option -> Parsetree.expression
val pexp_override : (string Astlib.Location.loc * Parsetree.expression) list -> Parsetree.expression
val pexp_unreachable : Parsetree.expression
val include_infos : 'a -> 'a Parsetree.include_infos
val label_declaration : name:string Astlib.Location.loc -> mutable_:Asttypes.mutable_flag -> type_:Parsetree.core_type -> Parsetree.label_declaration
val location : start:Lexing.position -> end_:Lexing.position -> ghost:bool -> Astlib.Location.t
val module_binding : name:string option Astlib.Location.loc -> expr:Parsetree.module_expr -> Parsetree.module_binding
val module_declaration : name:string option Astlib.Location.loc -> type_:Parsetree.module_type -> Parsetree.module_declaration
val pmod_structure : Parsetree.structure_item list -> Parsetree.module_expr
val pmty_signature : Parsetree.signature_item list -> Parsetree.module_type
val module_type_declaration : name:string Astlib.Location.loc -> type_:Parsetree.module_type option -> Parsetree.module_type_declaration
val open_infos : expr:'a -> override:Asttypes.override_flag -> 'a Parsetree.open_infos
val ppat_any : Parsetree.pattern
val ppat_var : string Astlib.Location.loc -> Parsetree.pattern
val ppat_constant : Parsetree.constant -> Parsetree.pattern
val ppat_tuple : Parsetree.pattern list -> Parsetree.pattern
val ppat_variant : string -> Parsetree.pattern option -> Parsetree.pattern
val ppat_array : Parsetree.pattern list -> Parsetree.pattern
val ppat_unpack : string option Astlib.Location.loc -> Parsetree.pattern
val ppat_exception : Parsetree.pattern -> Parsetree.pattern
val ppat_extension : (string Astlib.Location.loc * Parsetree.payload) -> Parsetree.pattern
val position : fname:string -> lnum:int -> bol:int -> cnum:int -> Lexing.position
val rtag : string Astlib.Location.loc -> bool -> Parsetree.core_type list -> Parsetree.row_field
val toplevel_directive : name:string Astlib.Location.loc -> arg:Parsetree.directive_argument option -> Parsetree.toplevel_directive
val value_description : name:string Astlib.Location.loc -> type_:Parsetree.core_type -> prim:string list -> Parsetree.value_description
val eint : int -> Parsetree.expression
val echar : char -> Parsetree.expression
val estring : string -> Parsetree.expression
val efloat : string -> Parsetree.expression
val eint32 : int32 -> Parsetree.expression
val eint64 : int64 -> Parsetree.expression
val enativeint : nativeint -> Parsetree.expression
val ebool : bool -> Parsetree.expression
val pint : int -> Parsetree.pattern
val pchar : char -> Parsetree.pattern
val pstring : string -> Parsetree.pattern
val pfloat : string -> Parsetree.pattern
val pint32 : int32 -> Parsetree.pattern
val pint64 : int64 -> Parsetree.pattern
val pnativeint : nativeint -> Parsetree.pattern
val pbool : bool -> Parsetree.pattern
val punit : Parsetree.pattern
val evar : string -> Parsetree.expression
val pvar : string -> Parsetree.pattern
val ppat_tuple_opt : Parsetree.pattern list -> Parsetree.pattern option
val pexp_tuple_opt : Parsetree.expression list -> Parsetree.expression option
val nonrec_type_declaration : name:string Astlib.Location.loc -> params:(Parsetree.core_type * Asttypes.variance) list -> cstrs:(Parsetree.core_type * Parsetree.core_type * Astlib.Location.t) list -> kind:Parsetree.type_kind -> private_:Asttypes.private_flag -> manifest:Parsetree.core_type option -> Parsetree.type_declaration
  • deprecated [since 2016-10] use Nonrecursive on the P(str|sig)_type instead
val unapplied_type_constr_conv : Astlib.Longident.t Astlib.Location.loc -> f:(string -> string) -> Parsetree.expression
val type_constr_conv : Astlib.Longident.t Astlib.Location.loc -> f:(string -> string) -> Parsetree.expression list -> Parsetree.expression
val eta_reduce : Parsetree.expression -> Parsetree.expression option
val eta_reduce_if_possible : Parsetree.expression -> Parsetree.expression
val eta_reduce_if_possible_and_nonrec : Parsetree.expression -> rec_flag:Asttypes.rec_flag -> Parsetree.expression
module Latest : sig ... end
val constructor_declaration : name:string Astlib.Location.loc -> args:Parsetree.constructor_arguments -> res:Parsetree.core_type option -> Parsetree.constructor_declaration