# Module Ppx_sedlex

    module Ppx_sedlex: sig .. end

    module Cset: Sedlex_ppx.Sedlex_cset

    val default_loc : Ppxlib.Location.t

    type decision_tree =

`|` | `Lte of `int * decision_tree * decision_tree``
`|` | `Table of `int * int array``
`|` | `Return of `int``

    val simplify_decision_tree : decision_tree -> decision_tree

    val decision : (int * int * int) list -> decision_tree

    val limit : int

    val decision_table : Sedlex_cset.t array -> decision_tree

    val simplify : int -> int -> decision_tree -> decision_tree

    val segments_of_partition : Sedlex_cset.t array -> (int * int * int) list

    val decision_table : Sedlex_cset.t array -> decision_tree

    val appfun : string -> Ppxlib__.Import.expression list -> Ppxlib__.Import.expression

    val glb_value : string -> Ppxlib__.Import.expression -> Ppxlib__.Import.structure_item

    module StringMap: Stdlib.Map.Make(sig

    type t = string

    val compare : 'a -> 'a -> int

    end)

    val builtin_regexps : Sedlex.regexp StringMap.t

    val tables : (int array, string) Stdlib.Hashtbl.t

    val table_counter : int Stdlib.ref

    val get_tables : unit -> (string * int array) list

    val table_name : int array -> string

    val table : string * int array -> Ppxlib__.Import.structure_item

    val partitions : (Sedlex_cset.t array, string) Stdlib.Hashtbl.t

    val partition_counter : int Stdlib.ref

    val get_partitions : unit -> (string * Sedlex_cset.t array) list

    val partition_name : Sedlex_cset.t array -> string

    val partition : string * Sedlex_cset.t array -> Ppxlib__.Import.structure_item

    val best_final : bool array -> int option

    val state_fun : int -> string

    val call_state : Ppxlib__.Import.expression ->
           ('a array * bool array) array -> int -> Ppxlib__.Import.expression

    val gen_state : string * Ppxlib__.Import.expression ->
           ('a array * bool array) array ->
           int ->
           (Sedlex_cset.t * int) array * bool array ->
           Ppxlib__.Import.value_binding list

    val gen_recflag : (('a * int) array * 'b) array -> Ppxlib.rec_flag

    val gen_definition : string * Ppxlib__.Import.expression ->
           (Sedlex.regexp * Ppxlib__.Import.expression) list ->
           Ppxlib__.Import.expression -> Ppxlib__.Import.expression

    val codepoint : int -> int

    val char : char -> Cset.t

    val uchar : Stdlib.Uchar.t -> Cset.t

    val err : Ppxlib__Location.t -> ('a, unit, string, 'b) Stdlib.format4 -> 'a

    type encoding =

`|` | `Utf8`
`|` | `Latin1`
`|` | `Ascii`

    val string_of_encoding : encoding -> string

    val rev_csets_of_string : loc:Ppxlib__Location.t ->
           encoding:encoding -> string -> Cset.t list

    val repeat : Sedlex.regexp -> int * int -> Sedlex.regexp

    val regexp_of_pattern : Sedlex.regexp StringMap.t ->
           Ppxlib.pattern -> Sedlex.regexp

    val previous : Ppxlib__.Import.Ast.structure_item list Stdlib.ref

    val regexps : Ppxlib_ast.Ast.structure_item list Stdlib.ref

    val should_set_cookies : bool Stdlib.ref

    val mapper : < arg_label : Ppxlib__.Import.Ast.arg_label -> Ppxlib__.Import.Ast.arg_label;
             array : 'a.
                       'a Ppxlib_traverse_builtins.T.map ->
                       'a array Ppxlib_traverse_builtins.T.map;
             attribute : Ppxlib__.Import.Ast.attribute -> Ppxlib__.Import.Ast.attribute;
             attributes : Ppxlib__.Import.Ast.attributes ->
                          Ppxlib__.Import.Ast.attributes;
             binding_op : Ppxlib__.Import.Ast.binding_op ->
                          Ppxlib__.Import.Ast.binding_op;
             bool : bool Ppxlib_traverse_builtins.T.map;
             case : Ppxlib__.Import.Ast.case -> Ppxlib__.Import.Ast.case;
             cases : Ppxlib__.Import.Ast.cases -> Ppxlib__.Import.Ast.cases;
             char : char Ppxlib_traverse_builtins.T.map;
             class_declaration : Ppxlib__.Import.Ast.class_declaration ->
                                 Ppxlib__.Import.Ast.class_declaration;
             class_description : Ppxlib__.Import.Ast.class_description ->
                                 Ppxlib__.Import.Ast.class_description;
             class_expr : Ppxlib__.Import.Ast.class_expr ->
                          Ppxlib__.Import.Ast.class_expr;
             class_expr_desc : Ppxlib__.Import.Ast.class_expr_desc ->
                               Ppxlib__.Import.Ast.class_expr_desc;
             class_field : Ppxlib__.Import.Ast.class_field ->
                           Ppxlib__.Import.Ast.class_field;
             class_field_desc : Ppxlib__.Import.Ast.class_field_desc ->
                                Ppxlib__.Import.Ast.class_field_desc;
             class_field_kind : Ppxlib__.Import.Ast.class_field_kind ->
                                Ppxlib__.Import.Ast.class_field_kind;
             class_infos : 'a.
                             ('a -> 'a) ->
                             'a Ppxlib__.Import.Ast.class_infos ->
                             'a Ppxlib__.Import.Ast.class_infos;
             class_signature : Ppxlib__.Import.Ast.class_signature ->
                               Ppxlib__.Import.Ast.class_signature;
             class_structure : Ppxlib__.Import.Ast.class_structure ->
                               Ppxlib__.Import.Ast.class_structure;
             class_type : Ppxlib__.Import.Ast.class_type ->
                          Ppxlib__.Import.Ast.class_type;
             class_type_declaration : Ppxlib__.Import.Ast.class_type_declaration ->
                                      Ppxlib__.Import.Ast.class_type_declaration;
             class_type_desc : Ppxlib__.Import.Ast.class_type_desc ->
                               Ppxlib__.Import.Ast.class_type_desc;
             class_type_field : Ppxlib__.Import.Ast.class_type_field ->
                                Ppxlib__.Import.Ast.class_type_field;
             class_type_field_desc : Ppxlib__.Import.Ast.class_type_field_desc ->
                                     Ppxlib__.Import.Ast.class_type_field_desc;
             closed_flag : Ppxlib__.Import.Ast.closed_flag ->
                           Ppxlib__.Import.Ast.closed_flag;
             constant : Ppxlib__.Import.Ast.constant -> Ppxlib__.Import.Ast.constant;
             constructor_arguments : Ppxlib__.Import.Ast.constructor_arguments ->
                                     Ppxlib__.Import.Ast.constructor_arguments;
             constructor_declaration : Ppxlib__.Import.Ast.constructor_declaration ->
                                       Ppxlib__.Import.Ast.constructor_declaration;
             core_type : Ppxlib__.Import.Ast.core_type -> Ppxlib__.Import.Ast.core_type;
             core_type_desc : Ppxlib__.Import.Ast.core_type_desc ->
                              Ppxlib__.Import.Ast.core_type_desc;
             define_regexp : StringMap.key -> Ppxlib.pattern -> 'b;
             direction_flag : Ppxlib__.Import.Ast.direction_flag ->
                              Ppxlib__.Import.Ast.direction_flag;
             directive_argument : Ppxlib__.Import.Ast.directive_argument ->
                                  Ppxlib__.Import.Ast.directive_argument;
             directive_argument_desc : Ppxlib__.Import.Ast.directive_argument_desc ->
                                       Ppxlib__.Import.Ast.directive_argument_desc;
             expression : Ppxlib__.Import.Ast.expression ->
                          Ppxlib__.Import.Ast.expression;
             expression_desc : Ppxlib__.Import.Ast.expression_desc ->
                               Ppxlib__.Import.Ast.expression_desc;
             extension : Ppxlib__.Import.Ast.extension -> Ppxlib__.Import.Ast.extension;
             extension_constructor : Ppxlib__.Import.Ast.extension_constructor ->
                                     Ppxlib__.Import.Ast.extension_constructor;
             extension_constructor_kind : Ppxlib__.Import.Ast.extension_constructor_kind ->
                                          Ppxlib__.Import.Ast.extension_constructor_kind;
             function_body : Ppxlib__.Import.Ast.function_body ->
                             Ppxlib__.Import.Ast.function_body;
             function_param : Ppxlib__.Import.Ast.function_param ->
                              Ppxlib__.Import.Ast.function_param;
             function_param_desc : Ppxlib__.Import.Ast.function_param_desc ->
                                   Ppxlib__.Import.Ast.function_param_desc;
             functor_parameter : Ppxlib__.Import.Ast.functor_parameter ->
                                 Ppxlib__.Import.Ast.functor_parameter;
             include_declaration : Ppxlib__.Import.Ast.include_declaration ->
                                   Ppxlib__.Import.Ast.include_declaration;
             include_description : Ppxlib__.Import.Ast.include_description ->
                                   Ppxlib__.Import.Ast.include_description;
             include_infos : 'a.
                               ('a -> 'a) ->
                               'a Ppxlib__.Import.Ast.include_infos ->
                               'a Ppxlib__.Import.Ast.include_infos;
             injectivity : Ppxlib__.Import.Ast.injectivity ->
                           Ppxlib__.Import.Ast.injectivity;
             int : int Ppxlib_traverse_builtins.T.map;
             label : Ppxlib__.Import.Ast.label -> Ppxlib__.Import.Ast.label;
             label_declaration : Ppxlib__.Import.Ast.label_declaration ->
                                 Ppxlib__.Import.Ast.label_declaration;
             letop : Ppxlib__.Import.Ast.letop -> Ppxlib__.Import.Ast.letop;
             list : 'a.
                      'a Ppxlib_traverse_builtins.T.map ->
                      'a list Ppxlib_traverse_builtins.T.map;
             loc : 'a.
                     ('a -> 'a) ->
                     'a Ppxlib__.Import.Ast.loc -> 'a Ppxlib__.Import.Ast.loc;
             location : Ppxlib__.Import.Ast.location -> Ppxlib__.Import.Ast.location;
             location_stack : Ppxlib__.Import.Ast.location_stack ->
                              Ppxlib__.Import.Ast.location_stack;
             longident : Ppxlib__.Import.Ast.longident -> Ppxlib__.Import.Ast.longident;
             longident_loc : Ppxlib__.Import.Ast.longident_loc ->
                             Ppxlib__.Import.Ast.longident_loc;
             module_binding : Ppxlib__.Import.Ast.module_binding ->
                              Ppxlib__.Import.Ast.module_binding;
             module_declaration : Ppxlib__.Import.Ast.module_declaration ->
                                  Ppxlib__.Import.Ast.module_declaration;
             module_expr : Ppxlib__.Import.Ast.module_expr ->
                           Ppxlib__.Import.Ast.module_expr;
             module_expr_desc : Ppxlib__.Import.Ast.module_expr_desc ->
                                Ppxlib__.Import.Ast.module_expr_desc;
             module_substitution : Ppxlib__.Import.Ast.module_substitution ->
                                   Ppxlib__.Import.Ast.module_substitution;
             module_type : Ppxlib__.Import.Ast.module_type ->
                           Ppxlib__.Import.Ast.module_type;
             module_type_declaration : Ppxlib__.Import.Ast.module_type_declaration ->
                                       Ppxlib__.Import.Ast.module_type_declaration;
             module_type_desc : Ppxlib__.Import.Ast.module_type_desc ->
                                Ppxlib__.Import.Ast.module_type_desc;
             mutable_flag : Ppxlib__.Import.Ast.mutable_flag ->
                            Ppxlib__.Import.Ast.mutable_flag;
             object_field : Ppxlib__.Import.Ast.object_field ->
                            Ppxlib__.Import.Ast.object_field;
             object_field_desc : Ppxlib__.Import.Ast.object_field_desc ->
                                 Ppxlib__.Import.Ast.object_field_desc;
             open_declaration : Ppxlib__.Import.Ast.open_declaration ->
                                Ppxlib__.Import.Ast.open_declaration;
             open_description : Ppxlib__.Import.Ast.open_description ->
                                Ppxlib__.Import.Ast.open_description;
             open_infos : 'a.
                            ('a -> 'a) ->
                            'a Ppxlib__.Import.Ast.open_infos ->
                            'a Ppxlib__.Import.Ast.open_infos;
             option : 'a.
                        'a Ppxlib_traverse_builtins.T.map ->
                        'a option Ppxlib_traverse_builtins.T.map;
             override_flag : Ppxlib__.Import.Ast.override_flag ->
                             Ppxlib__.Import.Ast.override_flag;
             package_type : Ppxlib__.Import.Ast.package_type ->
                            Ppxlib__.Import.Ast.package_type;
             pattern : Ppxlib__.Import.Ast.pattern -> Ppxlib__.Import.Ast.pattern;
             pattern_desc : Ppxlib__.Import.Ast.pattern_desc ->
                            Ppxlib__.Import.Ast.pattern_desc;
             payload : Ppxlib__.Import.Ast.payload -> Ppxlib__.Import.Ast.payload;
             position : Ppxlib__.Import.Ast.position -> Ppxlib__.Import.Ast.position;
             private_flag : Ppxlib__.Import.Ast.private_flag ->
                            Ppxlib__.Import.Ast.private_flag;
             rec_flag : Ppxlib__.Import.Ast.rec_flag -> Ppxlib__.Import.Ast.rec_flag;
             row_field : Ppxlib__.Import.Ast.row_field -> Ppxlib__.Import.Ast.row_field;
             row_field_desc : Ppxlib__.Import.Ast.row_field_desc ->
                              Ppxlib__.Import.Ast.row_field_desc;
             signature : Ppxlib__.Import.Ast.signature -> Ppxlib__.Import.Ast.signature;
             signature_item : Ppxlib__.Import.Ast.signature_item ->
                              Ppxlib__.Import.Ast.signature_item;
             signature_item_desc : Ppxlib__.Import.Ast.signature_item_desc ->
                                   Ppxlib__.Import.Ast.signature_item_desc;
             string : string Ppxlib_traverse_builtins.T.map;
             structure : Ppxlib__.Import.Ast.structure -> Ppxlib__.Import.Ast.structure;
             structure_item : Ppxlib__.Import.Ast.structure_item ->
                              Ppxlib__.Import.Ast.structure_item;
             structure_item_desc : Ppxlib__.Import.Ast.structure_item_desc ->
                                   Ppxlib__.Import.Ast.structure_item_desc;
             structure_with_regexps : Ppxlib__.Import.Ast.structure ->
                                      Ppxlib__.Import.Ast.structure *
                                      Ppxlib_ast.Ast.structure_item list;
             toplevel_directive : Ppxlib__.Import.Ast.toplevel_directive ->
                                  Ppxlib__.Import.Ast.toplevel_directive;
             toplevel_phrase : Ppxlib__.Import.Ast.toplevel_phrase ->
                               Ppxlib__.Import.Ast.toplevel_phrase;
             type_constraint : Ppxlib__.Import.Ast.type_constraint ->
                               Ppxlib__.Import.Ast.type_constraint;
             type_declaration : Ppxlib__.Import.Ast.type_declaration ->
                                Ppxlib__.Import.Ast.type_declaration;
             type_exception : Ppxlib__.Import.Ast.type_exception ->
                              Ppxlib__.Import.Ast.type_exception;
             type_extension : Ppxlib__.Import.Ast.type_extension ->
                              Ppxlib__.Import.Ast.type_extension;
             type_kind : Ppxlib__.Import.Ast.type_kind -> Ppxlib__.Import.Ast.type_kind;
             value_binding : Ppxlib__.Import.Ast.value_binding ->
                             Ppxlib__.Import.Ast.value_binding;
             value_constraint : Ppxlib__.Import.Ast.value_constraint ->
                                Ppxlib__.Import.Ast.value_constraint;
             value_description : Ppxlib__.Import.Ast.value_description ->
                                 Ppxlib__.Import.Ast.value_description;
             variance : Ppxlib__.Import.Ast.variance -> Ppxlib__.Import.Ast.variance;
             virtual_flag : Ppxlib__.Import.Ast.virtual_flag ->
                            Ppxlib__.Import.Ast.virtual_flag;
             with_constraint : Ppxlib__.Import.Ast.with_constraint ->
                               Ppxlib__.Import.Ast.with_constraint >
           as 'b

    val pre_handler : Ppxlib.Driver.Cookies.t -> unit

    val post_handler : Ppxlib.Driver.Cookies.t -> unit

    val extensions : Ppxlib.Extension.t list