Module Ppx_sexp_conv_expander__.Sexp_grammar_lifter

module Atom : sig ... end
type atom = Atom.t
type var_name = Base.Sexp.Private.Raw_grammar.var_name
type type_name = Base.Sexp.Private.Raw_grammar.type_name
val lift_string : loc:Ppxlib__.Import.location -> string -> Ppxlib__.Import.expression
val lift_var_name : loc:Ppxlib__.Import.location -> string -> Ppxlib__.Import.expression
val lift_type_name : loc:Ppxlib__.Import.location -> string -> Ppxlib__.Import.expression
type 't type_ = 't Base.Sexp.Private.Raw_grammar.type_ =
| Any
| Apply of 't type_ * 't type_ Base.list
| Atom of atom
| Explicit_bind of var_name Base.list * 't type_
| Explicit_var of Base.int
| Grammar of 't
| Implicit_var of Base.int
| List of 't sequence_type
| Option of 't type_
| Record of 't record_type
| Recursive of type_name
| Union of 't type_ Base.list
| Variant of 't variant_type
and 't sequence_type = 't component Base.list
and 't component = 't Base.Sexp.Private.Raw_grammar.component =
| One of 't type_
| Optional of 't type_
| Many of 't type_
| Fields of 't record_type
and 't variant_type = 't Base.Sexp.Private.Raw_grammar.variant_type = {
ignore_capitalization : Base.bool;
alts : (Ppxlib.label * 't sequence_type) Base.list;
}
and 't record_type = 't Base.Sexp.Private.Raw_grammar.record_type = {
allow_extra_fields : Base.bool;
fields : (Ppxlib.label * 't field) Base.list;
}
and 't field = 't Base.Sexp.Private.Raw_grammar.field = {
optional : Base.bool;
args : 't sequence_type;
}
and t = Base.unit
class virtual +'b lift : object ... end
class virtual map : object ... end
val lifter : loc:Ppxlib.location -> < array : a. ('a, Ppxlib.expression) Ppxlib_traverse_builtins.T.lift -> ('a array, Ppxlib.expression) Ppxlib_traverse_builtins.T.lift; atom : atom -> Ppxlib.expression; bool : (Base.bool, Ppxlib.expression) Ppxlib_traverse_builtins.T.lift; char : (char, Ppxlib.expression) Ppxlib_traverse_builtins.T.lift; component : a. ('a -> Ppxlib.expression) -> 'a component -> Ppxlib.expression; constr : Base.string -> Ppxlib.expression Base.list -> Ppxlib.expression; field : a. ('a -> Ppxlib.expression) -> 'a field -> Ppxlib.expression; float : (float, Ppxlib.expression) Ppxlib_traverse_builtins.T.lift; int : (Base.int, Ppxlib.expression) Ppxlib_traverse_builtins.T.lift; int32 : (int32, Ppxlib.expression) Ppxlib_traverse_builtins.T.lift; int64 : (int64, Ppxlib.expression) Ppxlib_traverse_builtins.T.lift; label : Ppxlib.label -> Ppxlib.expression; list : a. ('a, Ppxlib.expression) Ppxlib_traverse_builtins.T.lift -> ('a Base.list, Ppxlib.expression) Ppxlib_traverse_builtins.T.lift; nativeint : (nativeint, Ppxlib.expression) Ppxlib_traverse_builtins.T.lift; option : a. ('a, Ppxlib.expression) Ppxlib_traverse_builtins.T.lift -> ('a option, Ppxlib.expression) Ppxlib_traverse_builtins.T.lift; other : a. ('a, Ppxlib.expression) Ppxlib_traverse_builtins.T.lift; record : (Base.string * Ppxlib.expression) Base.list -> Ppxlib.expression; record_type : a. ('a -> Ppxlib.expression) -> 'a record_type -> Ppxlib.expression; sequence_type : a. ('a -> Ppxlib.expression) -> 'a sequence_type -> Ppxlib.expression; string : (string, Ppxlib.expression) Ppxlib_traverse_builtins.T.lift; t : t -> Ppxlib.expression; tuple : Ppxlib.expression Base.list -> Ppxlib.expression; type_ : a. ('a -> Ppxlib.expression) -> 'a type_ -> Ppxlib.expression; type_name : type_name -> Ppxlib.expression; unit : (Base.unit, Ppxlib.expression) Ppxlib_traverse_builtins.T.lift; var_name : var_name -> Ppxlib.expression; variant_type : a. ('a -> Ppxlib.expression) -> 'a variant_type -> Ppxlib.expression; >