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;
  6. ciAttributes : attributes;
}
and longid =
  1. | LiAcc of loc * longid * string Ploc.vala
  2. | LiApp of loc * longid * longid
  3. | LiUid of loc * string Ploc.vala
  4. | LiXtr of loc * string * longid Ploc.vala option
and ctyp =
  1. | TyAcc of loc * longid * string Ploc.vala
  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 * longid_lident 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 option * ctyp * attributes) list Ploc.vala * bool Ploc.vala
  11. | TyOlb of loc * string Ploc.vala * ctyp
  12. | TyOpn of loc
  13. | TyPck of loc * module_type
  14. | TyPol of loc * string list Ploc.vala * ctyp
  15. | TyPot of loc * string list Ploc.vala * ctyp
  16. | TyQuo of loc * string Ploc.vala
  17. | TyRec of loc * (loc * string * bool * ctyp * attributes) list Ploc.vala
  18. | TySum of loc * generic_constructor list Ploc.vala
  19. | TyTup of loc * ctyp list 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
  22. | TyAtt of loc * ctyp * attribute
  23. | TyExten of loc * attribute
and poly_variant =
  1. | PvTag of loc * string Ploc.vala * bool Ploc.vala * ctyp list Ploc.vala * attributes
  2. | PvInh of loc * ctyp
and patt =
  1. | PaPfx of loc * longid * patt
  2. | PaLong of loc * longid
  3. | PaAli of loc * patt * patt
  4. | PaAnt of loc * patt
  5. | PaAny of loc
  6. | PaApp of loc * patt * patt
  7. | PaArr of loc * patt list Ploc.vala
  8. | PaChr of loc * string Ploc.vala
  9. | PaExc of loc * patt
  10. | PaFlo of loc * string Ploc.vala
  11. | PaInt of loc * string Ploc.vala * string
  12. | PaLab of loc * (patt * patt option Ploc.vala) list Ploc.vala
  13. | PaLaz of loc * patt
  14. | PaLid of loc * string Ploc.vala
  15. | PaNty of loc * string Ploc.vala
  16. | PaOlb of loc * patt * expr option Ploc.vala
  17. | PaOrp of loc * patt * patt
  18. | PaRec of loc * (patt * patt) list Ploc.vala
  19. | PaRng of loc * patt * patt
  20. | PaStr of loc * string Ploc.vala
  21. | PaTup of loc * patt list Ploc.vala
  22. | PaTyc of loc * patt * ctyp
  23. | PaTyp of loc * longid_lident Ploc.vala
  24. | PaUnp of loc * string Ploc.vala option Ploc.vala * module_type option
  25. | PaVrn of loc * string Ploc.vala
  26. | PaXtr of loc * string * patt Ploc.vala option
  27. | PaAtt of loc * patt * attribute
  28. | PaExten of loc * attribute
and expr =
  1. | ExAcc of loc * expr * expr
  2. | ExAnt of loc * expr
  3. | ExApp of loc * expr * expr
  4. | ExAre of loc * string Ploc.vala * expr * expr list Ploc.vala
  5. | ExArr of loc * expr list Ploc.vala
  6. | ExAsr of loc * expr
  7. | ExAss of loc * expr * expr
  8. | ExBae of loc * string Ploc.vala * 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 * patt * expr * expr * bool Ploc.vala * expr list Ploc.vala
  13. | ExFun of loc * case_branch list Ploc.vala
  14. | ExIfe of loc * expr * expr * expr
  15. | ExInt of loc * string Ploc.vala * string
  16. | ExLab of loc * (patt * expr option Ploc.vala) list Ploc.vala
  17. | ExLaz of loc * expr
  18. | ExLet of loc * bool Ploc.vala * (patt * expr * attributes) list Ploc.vala * expr
  19. | ExLEx of loc * string Ploc.vala * ctyp list Ploc.vala * expr * attributes
  20. | ExLid of loc * string Ploc.vala
  21. | ExLmd of loc * string Ploc.vala option Ploc.vala * module_expr * expr
  22. | ExLop of loc * bool Ploc.vala * module_expr * expr
  23. | ExMat of loc * expr * case_branch list Ploc.vala
  24. | ExNew of loc * longid_lident 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. | ExPck of loc * module_expr * module_type option
  29. | ExRec of loc * (patt * expr) list Ploc.vala * expr option
  30. | ExSeq of loc * expr list Ploc.vala
  31. | ExSnd of loc * expr * string Ploc.vala
  32. | ExSte of loc * string Ploc.vala * expr * expr list Ploc.vala
  33. | ExStr of loc * string Ploc.vala
  34. | ExTry of loc * expr * case_branch list Ploc.vala
  35. | ExTup of loc * expr list Ploc.vala
  36. | ExTyc of loc * expr * ctyp
  37. | ExUid of loc * string Ploc.vala
  38. | ExVrn of loc * string Ploc.vala
  39. | ExWhi of loc * expr * expr list Ploc.vala
  40. | ExXtr of loc * string * expr Ploc.vala option
  41. | ExAtt of loc * expr * attribute
  42. | ExExten of loc * attribute
  43. | ExUnr of loc
and case_branch = patt * expr option Ploc.vala * expr
and module_type =
  1. | MtLong of loc * longid
  2. | MtLongLid of loc * longid * string Ploc.vala
  3. | MtLid of loc * string Ploc.vala
  4. | MtFun of loc * (string Ploc.vala option Ploc.vala * module_type) option Ploc.vala * module_type
  5. | MtQuo of loc * string Ploc.vala
  6. | MtSig of loc * sig_item list Ploc.vala
  7. | MtTyo of loc * module_expr
  8. | MtWit of loc * module_type * with_constr list Ploc.vala
  9. | MtXtr of loc * string * module_type Ploc.vala option
  10. | MtAtt of loc * module_type * attribute
  11. | MtExten of loc * attribute
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 * generic_constructor * attributes
  6. | SgExt of loc * string Ploc.vala * ctyp * string list Ploc.vala * attributes
  7. | SgInc of loc * module_type * attributes
  8. | SgMod of loc * bool Ploc.vala * (string Ploc.vala option Ploc.vala * module_type * attributes) list Ploc.vala
  9. | SgMty of loc * string Ploc.vala * module_type * attributes
  10. | SgMtyAlias of loc * string Ploc.vala * longid Ploc.vala * attributes
  11. | SgModSubst of loc * string Ploc.vala * longid * attributes
  12. | SgOpn of loc * longid * attributes
  13. | SgTyp of loc * bool Ploc.vala * type_decl list Ploc.vala
  14. | SgTypExten of loc * type_extension
  15. | SgUse of loc * string Ploc.vala * (sig_item * loc) list Ploc.vala
  16. | SgVal of loc * string Ploc.vala * ctyp * attributes
  17. | SgXtr of loc * string * sig_item Ploc.vala option
  18. | SgFlAtt of loc * attribute
  19. | SgExten of loc * attribute * attributes
and with_constr =
  1. | WcMod of loc * longid Ploc.vala * module_expr
  2. | WcMos of loc * longid Ploc.vala * module_expr
  3. | WcTyp of loc * longid_lident Ploc.vala * type_var list Ploc.vala * bool Ploc.vala * ctyp
  4. | WcTys of loc * longid_lident 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 * (string Ploc.vala option Ploc.vala * module_type) option 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 * module_type option
  8. | MeXtr of loc * string * module_expr Ploc.vala option
  9. | MeAtt of loc * module_expr * attribute
  10. | MeExten of loc * attribute
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. | StDir of loc * string Ploc.vala * expr option Ploc.vala
  5. | StExc of loc * extension_constructor Ploc.vala * attributes
  6. | StExp of loc * expr * attributes
  7. | StExt of loc * string Ploc.vala * ctyp * string list Ploc.vala * attributes
  8. | StInc of loc * module_expr * attributes
  9. | StMod of loc * bool Ploc.vala * (string Ploc.vala option Ploc.vala * module_expr * attributes) list Ploc.vala
  10. | StMty of loc * string Ploc.vala * module_type * attributes
  11. | StOpn of loc * bool Ploc.vala * module_expr * attributes
  12. | StTyp of loc * bool Ploc.vala * type_decl list Ploc.vala
  13. | StTypExten of loc * type_extension
  14. | StUse of loc * string Ploc.vala * (str_item * loc) list Ploc.vala
  15. | StVal of loc * bool Ploc.vala * (patt * expr * attributes) list Ploc.vala
  16. | StXtr of loc * string * str_item Ploc.vala option
  17. | StFlAtt of loc * attribute
  18. | StExten of loc * attribute * attributes
and type_decl = {
  1. tdIsDecl : bool Ploc.vala;
  2. tdNam : (loc * string Ploc.vala) Ploc.vala;
  3. tdPrm : type_var list Ploc.vala;
  4. tdPrv : bool Ploc.vala;
  5. tdDef : ctyp;
  6. tdCon : (ctyp * ctyp) list Ploc.vala;
  7. tdAttributes : attributes;
}
and generic_constructor = loc * string Ploc.vala * ctyp list Ploc.vala * ctyp option Ploc.vala * attributes
and extension_constructor =
  1. | EcTuple of loc * generic_constructor
  2. | EcRebind of loc * string Ploc.vala * longid Ploc.vala * attributes
and type_extension = {
  1. teNam : longid_lident Ploc.vala;
  2. tePrm : type_var list Ploc.vala;
  3. tePrv : bool Ploc.vala;
  4. teECs : extension_constructor list Ploc.vala;
  5. teAttributes : attributes;
}
and class_type =
  1. | CtLongLid of loc * longid * string Ploc.vala
  2. | CtLid of loc * string Ploc.vala
  3. | CtLop of loc * bool Ploc.vala * longid * class_type
  4. | CtCon of loc * class_type * ctyp list Ploc.vala
  5. | CtFun of loc * ctyp * class_type
  6. | CtSig of loc * ctyp option Ploc.vala * class_sig_item list Ploc.vala
  7. | CtXtr of loc * string * class_type Ploc.vala option
  8. | CtAtt of loc * class_type * attribute
  9. | CtExten of loc * attribute
and class_sig_item =
  1. | CgCtr of loc * ctyp * ctyp * attributes
  2. | CgDcl of loc * class_sig_item list Ploc.vala
  3. | CgInh of loc * class_type * attributes
  4. | CgMth of loc * bool Ploc.vala * string Ploc.vala * ctyp * attributes
  5. | CgVal of loc * bool Ploc.vala * bool Ploc.vala * string Ploc.vala * ctyp * attributes
  6. | CgVir of loc * bool Ploc.vala * string Ploc.vala * ctyp * attributes
  7. | CgFlAtt of loc * attribute
  8. | CgExten of loc * attribute
and class_expr =
  1. | CeApp of loc * class_expr * expr
  2. | CeCon of loc * longid_lident Ploc.vala * ctyp list Ploc.vala
  3. | CeFun of loc * patt * class_expr
  4. | CeLet of loc * bool Ploc.vala * (patt * expr * attributes) list Ploc.vala * class_expr
  5. | CeLop of loc * bool Ploc.vala * longid * class_expr
  6. | CeStr of loc * patt option Ploc.vala * class_str_item list Ploc.vala
  7. | CeTyc of loc * class_expr * class_type
  8. | CeXtr of loc * string * class_expr Ploc.vala option
  9. | CeAtt of loc * class_expr * attribute
  10. | CeExten of loc * attribute
and class_str_item =
  1. | CrCtr of loc * ctyp * ctyp * attributes
  2. | CrDcl of loc * class_str_item list Ploc.vala
  3. | CrInh of loc * bool Ploc.vala * class_expr * string option Ploc.vala * attributes
  4. | CrIni of loc * expr * attributes
  5. | CrMth of loc * bool Ploc.vala * bool Ploc.vala * string Ploc.vala * ctyp option Ploc.vala * expr * attributes
  6. | CrVal of loc * bool Ploc.vala * bool Ploc.vala * string Ploc.vala * expr * attributes
  7. | CrVav of loc * bool Ploc.vala * string Ploc.vala * ctyp * attributes
  8. | CrVir of loc * bool Ploc.vala * string Ploc.vala * ctyp * attributes
  9. | CrFlAtt of loc * attribute
  10. | CrExten of loc * attribute
and longid_lident = longid Ploc.vala option * string Ploc.vala
and payload =
  1. | StAttr of loc * str_item list Ploc.vala
  2. | SiAttr of loc * sig_item list Ploc.vala
  3. | TyAttr of loc * ctyp Ploc.vala
  4. | PaAttr of loc * patt Ploc.vala * expr Ploc.vala option
and attribute_body = (loc * string) Ploc.vala * payload
and attribute = attribute_body Ploc.vala
and attributes_no_anti = attribute list
and attributes = attributes_no_anti Ploc.vala
val loc_of_longid : longid -> loc
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_extension_constructor : extension_constructor -> loc
val loc_of_constructor : generic_constructor -> 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