Module Parsetree
module Parsetree:sig
..end
Abstract syntax tree produced by parsing
Warning: this module is unstable and part of compiler-libs.
type
constant =
| |
Pconst_integer of |
| |
Pconst_char of |
| |
Pconst_string of |
| |
Pconst_float of |
typelocation_stack =
Location.t list
Extension points
type
attribute = {
|
attr_name : |
|
attr_payload : |
|
attr_loc : |
}
typeextension =
string Asttypes.loc * payload
typeattributes =
attribute list
type
payload =
| |
PStr of |
| |
PSig of |
| |
PTyp of |
| |
PPat of |
Core language
type
core_type = {
|
ptyp_desc : |
|
ptyp_loc : |
|
ptyp_loc_stack : |
|
ptyp_attributes : |
}
type
core_type_desc =
| |
Ptyp_any |
| |
Ptyp_var of |
| |
Ptyp_arrow of |
| |
Ptyp_tuple of |
| |
Ptyp_constr of |
| |
Ptyp_object of |
| |
Ptyp_class of |
| |
Ptyp_alias of |
| |
Ptyp_variant of |
| |
Ptyp_poly of |
| |
Ptyp_package of |
| |
Ptyp_extension of |
typepackage_type =
Longident.t Asttypes.loc *
(Longident.t Asttypes.loc * core_type) list
type
row_field = {
|
prf_desc : |
|
prf_loc : |
|
prf_attributes : |
}
type
row_field_desc =
| |
Rtag of |
| |
Rinherit of |
type
object_field = {
|
pof_desc : |
|
pof_loc : |
|
pof_attributes : |
}
type
object_field_desc =
| |
Otag of |
| |
Oinherit of |
type
pattern = {
|
ppat_desc : |
|
ppat_loc : |
|
ppat_loc_stack : |
|
ppat_attributes : |
}
type
pattern_desc =
| |
Ppat_any |
| |
Ppat_var of |
| |
Ppat_alias of |
| |
Ppat_constant of |
| |
Ppat_interval of |
| |
Ppat_tuple of |
| |
Ppat_construct of |
| |
Ppat_variant of |
| |
Ppat_record of |
| |
Ppat_array of |
| |
Ppat_or of |
| |
Ppat_constraint of |
| |
Ppat_type of |
| |
Ppat_lazy of |
| |
Ppat_unpack of |
| |
Ppat_exception of |
| |
Ppat_extension of |
| |
Ppat_open of |
type
expression = {
|
pexp_desc : |
|
pexp_loc : |
|
pexp_loc_stack : |
|
pexp_attributes : |
}
type
expression_desc =
| |
Pexp_ident of |
| |
Pexp_constant of |
| |
Pexp_let of |
| |
Pexp_function of |
| |
Pexp_fun of |
| |
Pexp_apply of |
| |
Pexp_match of |
| |
Pexp_try of |
| |
Pexp_tuple of |
| |
Pexp_construct of |
| |
Pexp_variant of |
| |
Pexp_record of |
| |
Pexp_field of |
| |
Pexp_setfield of |
| |
Pexp_array of |
| |
Pexp_ifthenelse of |
| |
Pexp_sequence of |
| |
Pexp_while of |
| |
Pexp_for of |
| |
Pexp_constraint of |
| |
Pexp_coerce of |
| |
Pexp_send of |
| |
Pexp_new of |
| |
Pexp_setinstvar of |
| |
Pexp_override of |
| |
Pexp_letmodule of |
| |
Pexp_letexception of |
| |
Pexp_assert of |
| |
Pexp_lazy of |
| |
Pexp_poly of |
| |
Pexp_object of |
| |
Pexp_newtype of |
| |
Pexp_pack of |
| |
Pexp_open of |
| |
Pexp_letop of |
| |
Pexp_extension of |
| |
Pexp_unreachable |
type
case = {
|
pc_lhs : |
|
pc_guard : |
|
pc_rhs : |
}
type
letop = {
|
let_ : |
|
ands : |
|
body : |
}
type
binding_op = {
|
pbop_op : |
|
pbop_pat : |
|
pbop_exp : |
|
pbop_loc : |
}
type
value_description = {
|
pval_name : |
|
pval_type : |
|
pval_prim : |
|
pval_attributes : |
|
pval_loc : |
}
type
type_declaration = {
|
ptype_name : |
|
ptype_params : |
|
ptype_cstrs : |
|
ptype_kind : |
|
ptype_private : |
|
ptype_manifest : |
|
ptype_attributes : |
|
ptype_loc : |
}
type
type_kind =
| |
Ptype_abstract |
| |
Ptype_variant of |
| |
Ptype_record of |
| |
Ptype_open |
type
label_declaration = {
|
pld_name : |
|
pld_mutable : |
|
pld_type : |
|
pld_loc : |
|
pld_attributes : |
}
type
constructor_declaration = {
|
pcd_name : |
|
pcd_args : |
|
pcd_res : |
|
pcd_loc : |
|
pcd_attributes : |
}
type
constructor_arguments =
| |
Pcstr_tuple of |
| |
Pcstr_record of |
type
type_extension = {
|
ptyext_path : |
|
ptyext_params : |
|
ptyext_constructors : |
|
ptyext_private : |
|
ptyext_loc : |
|
ptyext_attributes : |
}
type
extension_constructor = {
|
pext_name : |
|
pext_kind : |
|
pext_loc : |
|
pext_attributes : |
}
type
type_exception = {
|
ptyexn_constructor : |
|
ptyexn_loc : |
|
ptyexn_attributes : |
}
type
extension_constructor_kind =
| |
Pext_decl of |
| |
Pext_rebind of |
Class language
type
class_type = {
|
pcty_desc : |
|
pcty_loc : |
|
pcty_attributes : |
}
type
class_type_desc =
| |
Pcty_constr of |
| |
Pcty_signature of |
| |
Pcty_arrow of |
| |
Pcty_extension of |
| |
Pcty_open of |
type
class_signature = {
|
pcsig_self : |
|
pcsig_fields : |
}
type
class_type_field = {
|
pctf_desc : |
|
pctf_loc : |
|
pctf_attributes : |
}
type
class_type_field_desc =
| |
Pctf_inherit of |
| |
Pctf_val of |
| |
Pctf_method of |
| |
Pctf_constraint of |
| |
Pctf_attribute of |
| |
Pctf_extension of |
type 'a
class_infos = {
|
pci_virt : |
|
pci_params : |
|
pci_name : |
|
pci_expr : |
|
pci_loc : |
|
pci_attributes : |
}
typeclass_description =
class_type class_infos
typeclass_type_declaration =
class_type class_infos
type
class_expr = {
|
pcl_desc : |
|
pcl_loc : |
|
pcl_attributes : |
}
type
class_expr_desc =
| |
Pcl_constr of |
| |
Pcl_structure of |
| |
Pcl_fun of |
| |
Pcl_apply of |
| |
Pcl_let of |
| |
Pcl_constraint of |
| |
Pcl_extension of |
| |
Pcl_open of |
type
class_structure = {
|
pcstr_self : |
|
pcstr_fields : |
}
type
class_field = {
|
pcf_desc : |
|
pcf_loc : |
|
pcf_attributes : |
}
type
class_field_desc =
| |
Pcf_inherit of |
| |
Pcf_val of |
| |
Pcf_method of |
| |
Pcf_constraint of |
| |
Pcf_initializer of |
| |
Pcf_attribute of |
| |
Pcf_extension of |
type
class_field_kind =
| |
Cfk_virtual of |
| |
Cfk_concrete of |
typeclass_declaration =
class_expr class_infos
Module language
type
module_type = {
|
pmty_desc : |
|
pmty_loc : |
|
pmty_attributes : |
}
type
module_type_desc =
| |
Pmty_ident of |
| |
Pmty_signature of |
| |
Pmty_functor of |
| |
Pmty_with of |
| |
Pmty_typeof of |
| |
Pmty_extension of |
| |
Pmty_alias of |
type
functor_parameter =
| |
Unit |
| |
Named of |
typesignature =
signature_item list
type
signature_item = {
|
psig_desc : |
|
psig_loc : |
}
type
signature_item_desc =
| |
Psig_value of |
| |
Psig_type of |
| |
Psig_typesubst of |
| |
Psig_typext of |
| |
Psig_exception of |
| |
Psig_module of |
| |
Psig_modsubst of |
| |
Psig_recmodule of |
| |
Psig_modtype of |
| |
Psig_open of |
| |
Psig_include of |
| |
Psig_class of |
| |
Psig_class_type of |
| |
Psig_attribute of |
| |
Psig_extension of |
type
module_declaration = {
|
pmd_name : |
|
pmd_type : |
|
pmd_attributes : |
|
pmd_loc : |
}
type
module_substitution = {
|
pms_name : |
|
pms_manifest : |
|
pms_attributes : |
|
pms_loc : |
}
type
module_type_declaration = {
|
pmtd_name : |
|
pmtd_type : |
|
pmtd_attributes : |
|
pmtd_loc : |
}
type 'a
open_infos = {
|
popen_expr : |
|
popen_override : |
|
popen_loc : |
|
popen_attributes : |
}
typeopen_description =
Longident.t Asttypes.loc open_infos
typeopen_declaration =
module_expr open_infos
type 'a
include_infos = {
|
pincl_mod : |
|
pincl_loc : |
|
pincl_attributes : |
}
typeinclude_description =
module_type include_infos
typeinclude_declaration =
module_expr include_infos
type
with_constraint =
| |
Pwith_type of |
| |
Pwith_module of |
| |
Pwith_typesubst of |
| |
Pwith_modsubst of |
type
module_expr = {
|
pmod_desc : |
|
pmod_loc : |
|
pmod_attributes : |
}
type
module_expr_desc =
| |
Pmod_ident of |
| |
Pmod_structure of |
| |
Pmod_functor of |
| |
Pmod_apply of |
| |
Pmod_constraint of |
| |
Pmod_unpack of |
| |
Pmod_extension of |
typestructure =
structure_item list
type
structure_item = {
|
pstr_desc : |
|
pstr_loc : |
}
type
structure_item_desc =
| |
Pstr_eval of |
| |
Pstr_value of |
| |
Pstr_primitive of |
| |
Pstr_type of |
| |
Pstr_typext of |
| |
Pstr_exception of |
| |
Pstr_module of |
| |
Pstr_recmodule of |
| |
Pstr_modtype of |
| |
Pstr_open of |
| |
Pstr_class of |
| |
Pstr_class_type of |
| |
Pstr_include of |
| |
Pstr_attribute of |
| |
Pstr_extension of |
type
value_binding = {
|
pvb_pat : |
|
pvb_expr : |
|
pvb_attributes : |
|
pvb_loc : |
}
type
module_binding = {
|
pmb_name : |
|
pmb_expr : |
|
pmb_attributes : |
|
pmb_loc : |
}
Toplevel
type
toplevel_phrase =
| |
Ptop_def of |
| |
Ptop_dir of |
type
toplevel_directive = {
|
pdir_name : |
|
pdir_arg : |
|
pdir_loc : |
}
type
directive_argument = {
|
pdira_desc : |
|
pdira_loc : |
}
type
directive_argument_desc =
| |
Pdir_string of |
| |
Pdir_int of |
| |
Pdir_ident of |
| |
Pdir_bool of |
The present documentation is copyright Institut National de Recherche en Informatique et en Automatique (INRIA). A complete version can be obtained from this page.