package sexp

  1. Overview
  2. Docs
type regex = Re2.t
val sexp_of_regex : regex -> Sexplib0.Sexp.t
val regex_of_sexp : Sexplib0.Sexp.t -> regex
module Template : sig ... end
module Quotation : sig ... end
module Var : sig ... end
module type Pattern_general = sig ... end
type 'a anti_quote =
  1. | Unquote of 'a
  2. | Splice of 'a
val flatten : 'a Quotation.t -> 'a anti_quote Template.t
module Record_field : sig ... end
type query =
  1. | This
  2. | Pipe of query * query
  3. | Die
  4. | Cat of query * query
  5. | Equals of Core.Sexp.t Core.Hash_set.t
  6. | Regex of regex
  7. | Variant of string * int option
  8. | Field of string
  9. | Index of int
  10. | Each
  11. | Smash
  12. | Atomic
  13. | Wrap of query
  14. | Test of query
  15. | Not of query
  16. | And of query * query
  17. | Or of query * query
  18. | If of query * query * query
  19. | Branch of query * query * query
  20. | Quote of query anti_quote Template.t
  21. | Change of change
  22. | Restructure
and change =
  1. | Id
  2. | Fail
  3. | Delete
  4. | Alt of change * change
  5. | Seq of change * change
  6. | Children of change
  7. | Record of change Record_field.t Core.String.Map.t
  8. | Rewrite of Pattern.t * Pattern.t
  9. | Rewrite_record of Pattern_record.t * Pattern_record.t
  10. | Topdown of change
  11. | Bottomup of change
  12. | Lowercase
  13. | Concat
  14. | Query of query
val pipe : query list -> query
val cat : query list -> query
val or_ : query list -> query
val and_ : query list -> query
val quote : query Quotation.t -> query
val equals : Core.Sexp.t -> query
val try_ : change -> change
val alt : change list -> change
val seq : change list -> change
val const : Core.Sexp.t -> change
module Unroll : sig ... end
module Query : sig ... end
module Change : sig ... end