module Translate : sig..end
val param : Camlp4.PreCast.Ast.ctyp -> string * [> `Minus | `Plus ] option
val params :
Camlp4.PreCast.Ast.ctyp list ->
(string * [> `Minus | `Plus ] option) list
val split_and :
Camlp4.PreCast.Ast.ctyp ->
(Camlp4.PreCast.Ast.ctyp * Camlp4.PreCast.Ast.ctyp,
Camlp4.PreCast.Ast.ctyp)
Utils.either
val split_comma :
Camlp4.PreCast.Ast.ctyp ->
(Camlp4.PreCast.Ast.ctyp * Camlp4.PreCast.Ast.ctyp,
Camlp4.PreCast.Ast.ctyp)
Utils.either
val split_semi :
Camlp4.PreCast.Ast.ctyp ->
(Camlp4.PreCast.Ast.ctyp * Camlp4.PreCast.Ast.ctyp,
Camlp4.PreCast.Ast.ctyp)
Utils.either
val split_or :
Camlp4.PreCast.Ast.ctyp ->
(Camlp4.PreCast.Ast.ctyp * Camlp4.PreCast.Ast.ctyp,
Camlp4.PreCast.Ast.ctyp)
Utils.either
val split_amp :
Camlp4.PreCast.Ast.ctyp ->
(Camlp4.PreCast.Ast.ctyp * Camlp4.PreCast.Ast.ctyp,
Camlp4.PreCast.Ast.ctyp)
Utils.either
val split_ofamp :
Camlp4.PreCast.Ast.ctyp ->
(Camlp4.PreCast.Ast.ctyp * Camlp4.PreCast.Ast.ctyp,
Camlp4.PreCast.Ast.ctyp)
Utils.either
val split_star :
Camlp4.PreCast.Ast.ctyp ->
(Camlp4.PreCast.Ast.ctyp * Camlp4.PreCast.Ast.ctyp,
Camlp4.PreCast.Ast.ctyp)
Utils.either
val list :
(Camlp4.PreCast.Ast.ctyp -> 'a) ->
(Camlp4.PreCast.Ast.ctyp ->
(Camlp4.PreCast.Ast.ctyp * Camlp4.PreCast.Ast.ctyp,
Camlp4.PreCast.Ast.ctyp)
Utils.either) ->
Camlp4.PreCast.Ast.ctyp -> 'a list
val ident : Camlp4.PreCast.Ast.ident -> Type.name
val qident : Camlp4.PreCast.Ast.ident -> Type.qname
type vmap = (Type.name * Type.variant * Type.name option) list
val fresh_name : unit -> string
val set_name_prefix : Type.name -> unit
module WithParams : functor (P : sig val params : Type.param listend) ->
sig..end
type alias_map = Type.expr Type.NameMap.t
val build_alias_map :
(Type.NameMap.key * Type.expr) option list -> alias_map
val split : Camlp4.PreCast.Ast.ctyp -> Camlp4.PreCast.Ast.ctyp list
val decl : Camlp4.PreCast.Ast.ctyp -> Type.decl list * alias_map
val substitute_aliases : alias_map -> Type.decl -> Type.decl
val decls : Camlp4.PreCast.Ast.ctyp -> Type.decl list