Module Osiris.Syntax

type var = string
val pp_var : Ppx_deriving_runtime.Format.formatter -> var -> Ppx_deriving_runtime.unit
val show_var : var -> Ppx_deriving_runtime.string
type name = string
val pp_name : Ppx_deriving_runtime.Format.formatter -> name -> Ppx_deriving_runtime.unit
val show_name : name -> Ppx_deriving_runtime.string
type path = name list
val pp_path : Ppx_deriving_runtime.Format.formatter -> path -> Ppx_deriving_runtime.unit
val show_path : path -> Ppx_deriving_runtime.string
type data = string
val pp_data : Ppx_deriving_runtime.Format.formatter -> data -> Ppx_deriving_runtime.unit
val show_data : data -> Ppx_deriving_runtime.string
type field = string
val pp_field : Ppx_deriving_runtime.Format.formatter -> field -> Ppx_deriving_runtime.unit
val show_field : field -> Ppx_deriving_runtime.string
type pat =
  1. | PUnsupported
  2. | PAny
  3. | PVar of var
  4. | PAlias of pat * var
  5. | POr of pat * pat
  6. | PTuple of pats
  7. | PData of data * pats
  8. | PXData of path * pats
  9. | PRecord of fpats
  10. | PInt of int
  11. | PChar of char
  12. | PString of string
and cpat =
  1. | CVal of pat
  2. | CExc of pat
  3. | CEff of pat * pat
  4. | COr of cpat * cpat
and pats = pat list
and fpats = (field * pat) list
val pp_pat : Ppx_deriving_runtime.Format.formatter -> pat -> Ppx_deriving_runtime.unit
val show_pat : pat -> Ppx_deriving_runtime.string
val pp_cpat : Ppx_deriving_runtime.Format.formatter -> cpat -> Ppx_deriving_runtime.unit
val show_cpat : cpat -> Ppx_deriving_runtime.string
val pp_pats : Ppx_deriving_runtime.Format.formatter -> pats -> Ppx_deriving_runtime.unit
val show_pats : pats -> Ppx_deriving_runtime.string
val pp_fpats : Ppx_deriving_runtime.Format.formatter -> fpats -> Ppx_deriving_runtime.unit
val show_fpats : fpats -> Ppx_deriving_runtime.string
type coercion =
  1. | CIdentity
  2. | CStruct of fcoercions
and fcoercions = (field * coercion) list
val pp_coercion : Ppx_deriving_runtime.Format.formatter -> coercion -> Ppx_deriving_runtime.unit
val show_coercion : coercion -> Ppx_deriving_runtime.string
val pp_fcoercions : Ppx_deriving_runtime.Format.formatter -> fcoercions -> Ppx_deriving_runtime.unit
val show_fcoercions : fcoercions -> Ppx_deriving_runtime.string
type loc = Location.t
val pp_loc : Format.formatter -> Location.t -> unit
type ret = (string * loc) option
val pp_ret : Ppx_deriving_runtime.Format.formatter -> ret -> Ppx_deriving_runtime.unit
val show_ret : ret -> Ppx_deriving_runtime.string
type annot = (string list * loc) option
val pp_annot : Ppx_deriving_runtime.Format.formatter -> annot -> Ppx_deriving_runtime.unit
val show_annot : annot -> Ppx_deriving_runtime.string
type pre = annot
val pp_pre : Ppx_deriving_runtime.Format.formatter -> pre -> Ppx_deriving_runtime.unit
val show_pre : pre -> Ppx_deriving_runtime.string
type post = annot
val pp_post : Ppx_deriving_runtime.Format.formatter -> post -> Ppx_deriving_runtime.unit
val show_post : post -> Ppx_deriving_runtime.string
type invariant = annot
val pp_invariant : Ppx_deriving_runtime.Format.formatter -> invariant -> Ppx_deriving_runtime.unit
val show_invariant : invariant -> Ppx_deriving_runtime.string
type expr =
  1. | EUnsupported
  2. | EPath of path
  3. | EAnonFun of anonfun
  4. | EApp of aexpr * aexpr
  5. | ETuple of aexprs
  6. | EData of data * aexprs
  7. | EXData of path * aexprs
  8. | ERecord of fexprs
  9. | ERecordUpdate of aexpr * fexprs
  10. | ERecordAccess of aexpr * field
  11. | EBoolConj of aexpr * aexpr
  12. | EBoolDisj of aexpr * aexpr
  13. | EBoolNeg of aexpr
  14. | EInt of int
  15. | EMaxInt
  16. | EMinInt
  17. | EIntNeg of aexpr
  18. | EIntAdd of aexpr * aexpr
  19. | EIntSub of aexpr * aexpr
  20. | EIntMul of aexpr * aexpr
  21. | EIntDiv of aexpr * aexpr
  22. | EIntMod of aexpr * aexpr
  23. | EIntLand of aexpr * aexpr
  24. | EIntLor of aexpr * aexpr
  25. | EIntLxor of aexpr * aexpr
  26. | EIntLnot of aexpr
  27. | EIntLsl of aexpr * aexpr
  28. | EIntLsr of aexpr * aexpr
  29. | EIntAsr of aexpr * aexpr
  30. | EFloat of string
  31. | EChar of char
  32. | EString of string
  33. | EOpPhysEq of aexpr * aexpr
  34. | EOpEq of aexpr * aexpr
  35. | EOpNe of aexpr * aexpr
  36. | EOpLt of aexpr * aexpr
  37. | EOpLe of aexpr * aexpr
  38. | EOpGt of aexpr * aexpr
  39. | EOpGe of aexpr * aexpr
  40. | ELet of bindings * aexpr
  41. | ELetRec of rec_bindings * aexpr
  42. | ELetModule of name * mexpr * aexpr
  43. | ELetOpen of mexpr * aexpr
  44. | ESeq of aexpr * aexpr
  45. | EIfThen of aexpr * aexpr
  46. | EIfThenElse of aexpr * aexpr * aexpr
  47. | EMatch of aexpr * branches
  48. | EShallowMatch of aexpr * branches
  49. | ERaise of aexpr
  50. | EPerform of aexpr
  51. | EContinue of aexpr * aexpr
  52. | EDiscontinue of aexpr * aexpr
  53. | EWhile of invariant * aexpr * aexpr
  54. | EFor of invariant * var * aexpr * aexpr * aexpr
  55. | EAssertFalse
  56. | EAssert of aexpr
  57. | ERef of aexpr
  58. | ELoad of aexpr
  59. | EStore of aexpr * aexpr
and aexpr =
  1. | EAnnotated of ret * post * expr
and aexprs = aexpr list
and fexpr =
  1. | Fexpr of field * aexpr
and fexprs = fexpr list
and branch =
  1. | Branch of pre * cpat * aexpr
and branches = branch list
and binding =
  1. | Binding of bool * pat * aexpr
and bindings = binding list
and rec_binding =
  1. | RecBinding of var * anonfun
and rec_bindings = rec_binding list
and anonfun =
  1. | AnonFun of pre * post * var * aexpr
  2. | AnonFunction of post * branches
and mexpr =
  1. | MUnsupported
  2. | MPath of path
  3. | MStruct of sitems
  4. | MFunctor of var * sitems
  5. | MCoercion of mexpr * coercion
and sitems = sitem list
and sitem =
  1. | ILet of bindings
  2. | ILetRec of rec_bindings
  3. | IModule of name * mexpr
  4. | IOpen of mexpr
  5. | IInclude of mexpr
  6. | IExtend of name list
  7. | IVernac of string
val pp_expr : Ppx_deriving_runtime.Format.formatter -> expr -> Ppx_deriving_runtime.unit
val show_expr : expr -> Ppx_deriving_runtime.string
val pp_aexpr : Ppx_deriving_runtime.Format.formatter -> aexpr -> Ppx_deriving_runtime.unit
val show_aexpr : aexpr -> Ppx_deriving_runtime.string
val pp_aexprs : Ppx_deriving_runtime.Format.formatter -> aexprs -> Ppx_deriving_runtime.unit
val show_aexprs : aexprs -> Ppx_deriving_runtime.string
val pp_fexpr : Ppx_deriving_runtime.Format.formatter -> fexpr -> Ppx_deriving_runtime.unit
val show_fexpr : fexpr -> Ppx_deriving_runtime.string
val pp_fexprs : Ppx_deriving_runtime.Format.formatter -> fexprs -> Ppx_deriving_runtime.unit
val show_fexprs : fexprs -> Ppx_deriving_runtime.string
val pp_branch : Ppx_deriving_runtime.Format.formatter -> branch -> Ppx_deriving_runtime.unit
val show_branch : branch -> Ppx_deriving_runtime.string
val pp_branches : Ppx_deriving_runtime.Format.formatter -> branches -> Ppx_deriving_runtime.unit
val show_branches : branches -> Ppx_deriving_runtime.string
val pp_binding : Ppx_deriving_runtime.Format.formatter -> binding -> Ppx_deriving_runtime.unit
val show_binding : binding -> Ppx_deriving_runtime.string
val pp_bindings : Ppx_deriving_runtime.Format.formatter -> bindings -> Ppx_deriving_runtime.unit
val show_bindings : bindings -> Ppx_deriving_runtime.string
val pp_rec_binding : Ppx_deriving_runtime.Format.formatter -> rec_binding -> Ppx_deriving_runtime.unit
val show_rec_binding : rec_binding -> Ppx_deriving_runtime.string
val pp_rec_bindings : Ppx_deriving_runtime.Format.formatter -> rec_bindings -> Ppx_deriving_runtime.unit
val show_rec_bindings : rec_bindings -> Ppx_deriving_runtime.string
val pp_anonfun : Ppx_deriving_runtime.Format.formatter -> anonfun -> Ppx_deriving_runtime.unit
val show_anonfun : anonfun -> Ppx_deriving_runtime.string
val pp_mexpr : Ppx_deriving_runtime.Format.formatter -> mexpr -> Ppx_deriving_runtime.unit
val show_mexpr : mexpr -> Ppx_deriving_runtime.string
val pp_sitems : Ppx_deriving_runtime.Format.formatter -> sitems -> Ppx_deriving_runtime.unit
val show_sitems : sitems -> Ppx_deriving_runtime.string
val pp_sitem : Ppx_deriving_runtime.Format.formatter -> sitem -> Ppx_deriving_runtime.unit
val show_sitem : sitem -> Ppx_deriving_runtime.string