package camlp5

  1. Overview
  2. Docs
type loc = Ploc.t
type !'a v = 'a Ploc.vala
type type_var = string option Ploc.vala * bool option
type !'a class_infos = {
  1. ciLoc : loc;
  2. ciVir : bool Ploc.vala;
  3. ciPrm : loc * type_var list Ploc.vala;
  4. ciNam : string Ploc.vala;
  5. ciExp : 'a;
}
type ctyp =
  1. | TyAcc of loc * ctyp * ctyp
  2. | TyAli of loc * ctyp * ctyp
  3. | TyAny of loc
  4. | TyApp of loc * ctyp * ctyp
  5. | TyArr of loc * ctyp * ctyp
  6. | TyCls of loc * string list Ploc.vala
  7. | TyLab of loc * string Ploc.vala * ctyp
  8. | TyLid of loc * string Ploc.vala
  9. | TyMan of loc * ctyp * bool Ploc.vala * ctyp
  10. | TyObj of loc * (string * ctyp) list Ploc.vala * bool Ploc.vala
  11. | TyOlb of loc * string Ploc.vala * ctyp
  12. | TyPck of loc * module_type
  13. | TyPol of loc * string list Ploc.vala * ctyp
  14. | TyPot of loc * string list Ploc.vala * ctyp
  15. | TyQuo of loc * string Ploc.vala
  16. | TyRec of loc * (loc * string * bool * ctyp) list Ploc.vala
  17. | TySum of loc * (loc * string Ploc.vala * ctyp list Ploc.vala * ctyp option) list Ploc.vala
  18. | TyTup of loc * ctyp list Ploc.vala
  19. | TyUid of loc * string Ploc.vala
  20. | TyVrn of loc * poly_variant list Ploc.vala * string list Ploc.vala option option
  21. | TyXtr of loc * string * ctyp Ploc.vala option
and poly_variant =
  1. | PvTag of loc * string Ploc.vala * bool Ploc.vala * ctyp list Ploc.vala
  2. | PvInh of loc * ctyp
and patt =
  1. | PaAcc of loc * patt * patt
  2. | PaAli of loc * patt * patt
  3. | PaAnt of loc * patt
  4. | PaAny of loc
  5. | PaApp of loc * patt * patt
  6. | PaArr of loc * patt list Ploc.vala
  7. | PaChr of loc * string Ploc.vala
  8. | PaFlo of loc * string Ploc.vala
  9. | PaInt of loc * string Ploc.vala * string
  10. | PaLab of loc * (patt * patt option Ploc.vala) list Ploc.vala
  11. | PaLaz of loc * patt
  12. | PaLid of loc * string Ploc.vala
  13. | PaNty of loc * string Ploc.vala
  14. | PaOlb of loc * patt * expr option Ploc.vala
  15. | PaOrp of loc * patt * patt
  16. | PaRec of loc * (patt * patt) list Ploc.vala
  17. | PaRng of loc * patt * patt
  18. | PaStr of loc * string Ploc.vala
  19. | PaTup of loc * patt list Ploc.vala
  20. | PaTyc of loc * patt * ctyp
  21. | PaTyp of loc * string list Ploc.vala
  22. | PaUid of loc * string Ploc.vala
  23. | PaUnp of loc * string Ploc.vala option Ploc.vala * module_type option
  24. | PaVrn of loc * string Ploc.vala
  25. | PaXtr of loc * string * patt Ploc.vala option
and expr =
  1. | ExAcc of loc * expr * expr
  2. | ExAnt of loc * expr
  3. | ExApp of loc * expr * expr
  4. | ExAre of loc * expr * expr
  5. | ExArr of loc * expr list Ploc.vala
  6. | ExAsr of loc * expr
  7. | ExAss of loc * expr * expr
  8. | ExBae of loc * expr * expr list Ploc.vala
  9. | ExChr of loc * string Ploc.vala
  10. | ExCoe of loc * expr * ctyp option * ctyp
  11. | ExFlo of loc * string Ploc.vala
  12. | ExFor of loc * string Ploc.vala * expr * expr * bool Ploc.vala * expr list Ploc.vala
  13. | ExFun of loc * (patt * expr option Ploc.vala * expr) list Ploc.vala
  14. | ExIfe of loc * expr * expr * expr
  15. | ExInt of loc * string Ploc.vala * string
  16. | ExJdf of loc * joinclause list Ploc.vala * expr
  17. | ExLab of loc * (patt * expr option Ploc.vala) list Ploc.vala
  18. | ExLaz of loc * expr
  19. | ExLet of loc * bool Ploc.vala * (patt * expr) list Ploc.vala * expr
  20. | ExLid of loc * string Ploc.vala
  21. | ExLmd of loc * string Ploc.vala option Ploc.vala * module_expr * expr
  22. | ExLop of loc * module_expr * expr
  23. | ExMat of loc * expr * (patt * expr option Ploc.vala * expr) list Ploc.vala
  24. | ExNew of loc * string list Ploc.vala
  25. | ExObj of loc * patt option Ploc.vala * class_str_item list Ploc.vala
  26. | ExOlb of loc * patt * expr option Ploc.vala
  27. | ExOvr of loc * (string * expr) list Ploc.vala
  28. | ExPar of loc * expr * expr
  29. | ExPck of loc * module_expr * module_type option
  30. | ExRec of loc * (patt * expr) list Ploc.vala * expr option
  31. | ExRpl of loc * expr option Ploc.vala * (loc * string Ploc.vala) Ploc.vala
  32. | ExSeq of loc * expr list Ploc.vala
  33. | ExSpw of loc * expr
  34. | ExSnd of loc * expr * string Ploc.vala
  35. | ExSte of loc * expr * expr
  36. | ExStr of loc * string Ploc.vala
  37. | ExTry of loc * expr * (patt * expr option Ploc.vala * expr) list Ploc.vala
  38. | ExTup of loc * expr list Ploc.vala
  39. | ExTyc of loc * expr * ctyp
  40. | ExUid of loc * string Ploc.vala
  41. | ExVrn of loc * string Ploc.vala
  42. | ExWhi of loc * expr * expr list Ploc.vala
  43. | ExXtr of loc * string * expr Ploc.vala option
and module_type =
  1. | MtAcc of loc * module_type * module_type
  2. | MtApp of loc * module_type * module_type
  3. | MtFun of loc * functor_parameter Ploc.vala * module_type
  4. | MtLid of loc * string Ploc.vala
  5. | MtQuo of loc * string Ploc.vala
  6. | MtSig of loc * sig_item list Ploc.vala
  7. | MtTyo of loc * module_expr
  8. | MtUid of loc * string Ploc.vala
  9. | MtWit of loc * module_type * with_constr list Ploc.vala
  10. | MtXtr of loc * string * module_type Ploc.vala option
and functor_parameter = (string Ploc.vala option Ploc.vala * module_type) option
and sig_item =
  1. | SgCls of loc * class_type class_infos list Ploc.vala
  2. | SgClt of loc * class_type class_infos list Ploc.vala
  3. | SgDcl of loc * sig_item list Ploc.vala
  4. | SgDir of loc * string Ploc.vala * expr option Ploc.vala
  5. | SgExc of loc * string Ploc.vala * ctyp list Ploc.vala
  6. | SgExt of loc * string Ploc.vala * ctyp * string list Ploc.vala
  7. | SgInc of loc * module_type
  8. | SgMod of loc * bool Ploc.vala * (string Ploc.vala option Ploc.vala * module_type) list Ploc.vala
  9. | SgMty of loc * string Ploc.vala * module_type
  10. | SgOpn of loc * string list Ploc.vala
  11. | SgTyp of loc * type_decl list Ploc.vala
  12. | SgUse of loc * string Ploc.vala * (sig_item * loc) list Ploc.vala
  13. | SgVal of loc * string Ploc.vala * ctyp
  14. | SgXtr of loc * string * sig_item Ploc.vala option
and with_constr =
  1. | WcMod of loc * string list Ploc.vala * module_expr
  2. | WcMos of loc * string list Ploc.vala * module_expr
  3. | WcTyp of loc * string list Ploc.vala * type_var list Ploc.vala * bool Ploc.vala * ctyp
  4. | WcTys of loc * string list Ploc.vala * type_var list Ploc.vala * ctyp
and module_expr =
  1. | MeAcc of loc * module_expr * module_expr
  2. | MeApp of loc * module_expr * module_expr
  3. | MeFun of loc * functor_parameter Ploc.vala * module_expr
  4. | MeStr of loc * str_item list Ploc.vala
  5. | MeTyc of loc * module_expr * module_type
  6. | MeUid of loc * string Ploc.vala
  7. | MeUnp of loc * expr * module_type option
  8. | MeXtr of loc * string * module_expr Ploc.vala option
and str_item =
  1. | StCls of loc * class_expr class_infos list Ploc.vala
  2. | StClt of loc * class_type class_infos list Ploc.vala
  3. | StDcl of loc * str_item list Ploc.vala
  4. | StDef of loc * joinclause list Ploc.vala
  5. | StDir of loc * string Ploc.vala * expr option Ploc.vala
  6. | StExc of loc * string Ploc.vala * ctyp list Ploc.vala * string list Ploc.vala
  7. | StExp of loc * expr
  8. | StExt of loc * string Ploc.vala * ctyp * string list Ploc.vala
  9. | StInc of loc * module_expr
  10. | StMod of loc * bool Ploc.vala * (string Ploc.vala option Ploc.vala * module_expr) list Ploc.vala
  11. | StMty of loc * string Ploc.vala * module_type
  12. | StOpn of loc * string list Ploc.vala
  13. | StTyp of loc * bool Ploc.vala * type_decl list Ploc.vala
  14. | StUse of loc * string Ploc.vala * (str_item * loc) list Ploc.vala
  15. | StVal of loc * bool Ploc.vala * (patt * expr) list Ploc.vala
  16. | StXtr of loc * string * str_item Ploc.vala option
and joinclause = {
  1. jcLoc : loc;
  2. jcVal : (loc * (loc * (loc * string Ploc.vala) * patt option Ploc.vala) list Ploc.vala * expr) list Ploc.vala;
}
and type_decl = {
  1. tdNam : (loc * string Ploc.vala) Ploc.vala;
  2. tdPrm : type_var list Ploc.vala;
  3. tdPrv : bool Ploc.vala;
  4. tdDef : ctyp;
  5. tdCon : (ctyp * ctyp) list Ploc.vala;
}
and class_type =
  1. | CtAcc of loc * class_type * class_type
  2. | CtApp of loc * class_type * class_type
  3. | CtCon of loc * class_type * ctyp list Ploc.vala
  4. | CtFun of loc * ctyp * class_type
  5. | CtIde of loc * string Ploc.vala
  6. | CtSig of loc * ctyp option Ploc.vala * class_sig_item list Ploc.vala
  7. | CtXtr of loc * string * class_type Ploc.vala option
and class_sig_item =
  1. | CgCtr of loc * ctyp * ctyp
  2. | CgDcl of loc * class_sig_item list Ploc.vala
  3. | CgInh of loc * class_type
  4. | CgMth of loc * bool Ploc.vala * string Ploc.vala * ctyp
  5. | CgVal of loc * bool Ploc.vala * string Ploc.vala * ctyp
  6. | CgVir of loc * bool Ploc.vala * string Ploc.vala * ctyp
and class_expr =
  1. | CeApp of loc * class_expr * expr
  2. | CeCon of loc * string list Ploc.vala * ctyp list Ploc.vala
  3. | CeFun of loc * patt * class_expr
  4. | CeLet of loc * bool Ploc.vala * (patt * expr) list Ploc.vala * class_expr
  5. | CeStr of loc * patt option Ploc.vala * class_str_item list Ploc.vala
  6. | CeTyc of loc * class_expr * class_type
  7. | CeXtr of loc * string * class_expr Ploc.vala option
and class_str_item =
  1. | CrCtr of loc * ctyp * ctyp
  2. | CrDcl of loc * class_str_item list Ploc.vala
  3. | CrInh of loc * class_expr * string option Ploc.vala
  4. | CrIni of loc * expr
  5. | CrMth of loc * bool Ploc.vala * bool Ploc.vala * string Ploc.vala * ctyp option Ploc.vala * expr
  6. | CrVal of loc * bool Ploc.vala * bool Ploc.vala * string Ploc.vala * expr
  7. | CrVav of loc * bool Ploc.vala * string Ploc.vala * ctyp
  8. | CrVir of loc * bool Ploc.vala * string Ploc.vala * ctyp
val loc_of_ctyp : ctyp -> loc
val loc_of_patt : patt -> loc
val loc_of_expr : expr -> loc
val loc_of_module_type : module_type -> loc
val loc_of_module_expr : module_expr -> loc
val loc_of_sig_item : sig_item -> loc
val loc_of_str_item : str_item -> loc
val loc_of_with_constr : with_constr -> loc
val loc_of_class_type : class_type -> loc
val loc_of_class_sig_item : class_sig_item -> loc
val loc_of_class_expr : class_expr -> loc
val loc_of_class_str_item : class_str_item -> loc
OCaml

Innovation. Community. Security.