package pumping

  1. Overview
  2. Docs
type atom = string
module CSet : sig ... end
module Re : sig ... end

Regular expressions

module ReMap : sig ... end
module SMap : sig ... end
module Var : sig ... end

Type grammar

type ty =
  1. | Alt of transition list
  2. | As of ty * Var.t
  3. | Alias of Var.t
and transition =
  1. | A of atom * ty
  2. | E
val pp_transition : transition Fmt.t
val pp_ty : Format.formatter -> ty -> unit

Derivatives

val has_epsilon : Re.t -> bool
val prefix : Re.t SMap.t -> Re.t -> Re.t SMap.t
val union : Re.t SMap.t -> Re.t SMap.t -> Re.t SMap.t
val inter : Re.t SMap.t -> Re.t SMap.t -> Re.t SMap.t
val charset : CSet.t -> Re.t SMap.t
val heads : Re.t -> Re.t SMap.t
val add_new_ty : ReMap.key -> ty ReMap.t -> ty ReMap.t * Var.t
val goto : SMap.key -> ReMap.key -> (ty ReMap.t * transition list) -> ty ReMap.t * transition list
val explore : ty ReMap.t -> ReMap.key -> ty ReMap.t * ty
val make_type : ReMap.key -> ty
module Posix : sig ... end

Posix parser, borrowed from Re

Syntax

val make_variant : loc:Location.t -> [< `Eq | `GEq | `LEq ] -> Migrate_parsetree__Ast_405.Parsetree.row_field list -> Migrate_parsetree__Ast_405.Parsetree.core_type
val parsetree_of_ty : Location.t -> [< `Eq | `GEq | `LEq ] -> ty -> Migrate_parsetree.Ast_405.Parsetree.core_type
val get_extension : string -> [> `Eq | `GEq | `LEq ] option
val mapper : Migrate_parsetree__Ast_405.Ast_mapper.mapper