Module Bos_pat

val err_malformed_pat : string -> string
type lexeme =
  1. | Lit of string
  2. | Var of string
type t = lexeme list
val empty : 'a list
val dom : lexeme list -> Astring.String.set
val equal : 'a -> 'a -> bool
val compare : 'a -> 'a -> int
type parse_state =
  1. | S_lit
  2. | S_dollar
  3. | S_var
val of_string : string -> (lexeme list, [> Rresult.R.msg ]) Rresult.result
val v : string -> lexeme list
val to_string : lexeme list -> string
val escape_dollar : string -> string
val pp : Format.formatter -> lexeme list -> unit
val dump : Format.formatter -> lexeme list -> unit
type defs = string Astring.String.map
val subst : ?undef:(string -> string option) -> string Astring.String.Map.t -> lexeme list -> lexeme list
val format : ?undef:(string -> string) -> string Astring.String.Map.t -> lexeme list -> string
val match_literal : int -> string -> string -> int option
val match_pat : env:string Astring.String.Map.t option -> int -> string -> lexeme list -> string Astring.String.Map.t option
val matches : lexeme list -> string -> bool
val query : ?init:string Astring.String.Map.t -> lexeme list -> string -> string Astring.String.Map.t option