2037 lines
26 KiB
HTML
2037 lines
26 KiB
HTML
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<HTML><HEAD><TITLE>Man page of Parsetree</TITLE>
|
|
</HEAD><BODY>
|
|
<H1>Parsetree</H1>
|
|
Section: OCaml library (3o)<BR>Updated: 2020-01-30<BR><A HREF="#index">Index</A>
|
|
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
|
|
|
|
<A NAME="lbAB"> </A>
|
|
<H2>NAME</H2>
|
|
|
|
Parsetree - Abstract syntax tree produced by parsing
|
|
<A NAME="lbAC"> </A>
|
|
<H2>Module</H2>
|
|
|
|
Module Parsetree
|
|
<A NAME="lbAD"> </A>
|
|
<H2>Documentation</H2>
|
|
|
|
<P>
|
|
Module
|
|
<B>Parsetree</B>
|
|
|
|
<BR> :
|
|
<B>sig end</B>
|
|
|
|
<P>
|
|
<P>
|
|
Abstract syntax tree produced by parsing
|
|
<P>
|
|
Warning: this module is unstable and part of
|
|
<B>Compiler_libs</B>
|
|
|
|
.
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type constant </I>
|
|
|
|
=
|
|
<BR> | Pconst_integer
|
|
<B>of </B>
|
|
|
|
<B>string * char option</B>
|
|
|
|
<BR> | Pconst_char
|
|
<B>of </B>
|
|
|
|
<B>char</B>
|
|
|
|
<BR> | Pconst_string
|
|
<B>of </B>
|
|
|
|
<B>string * string option</B>
|
|
|
|
<BR> | Pconst_float
|
|
<B>of </B>
|
|
|
|
<B>string * char option</B>
|
|
|
|
<BR>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
|
|
<A NAME="lbAE"> </A>
|
|
<H3>Extension points</H3>
|
|
|
|
<P>
|
|
<P>
|
|
|
|
<I>type attribute </I>
|
|
|
|
= {
|
|
<BR> attr_name :
|
|
<B>string Asttypes.loc</B>
|
|
|
|
;
|
|
<BR> attr_payload :
|
|
<B>payload</B>
|
|
|
|
;
|
|
<BR> attr_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type extension </I>
|
|
|
|
=
|
|
<B>string Asttypes.loc * payload</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type attributes </I>
|
|
|
|
=
|
|
<B>attribute list</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type payload </I>
|
|
|
|
=
|
|
<BR> | PStr
|
|
<B>of </B>
|
|
|
|
<B>structure</B>
|
|
|
|
<BR> | PSig
|
|
<B>of </B>
|
|
|
|
<B>signature</B>
|
|
|
|
<BR> | PTyp
|
|
<B>of </B>
|
|
|
|
<B>core_type</B>
|
|
|
|
<BR> | PPat
|
|
<B>of </B>
|
|
|
|
<B>pattern * expression option</B>
|
|
|
|
<BR>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
|
|
<A NAME="lbAF"> </A>
|
|
<H3>Core language</H3>
|
|
|
|
<P>
|
|
<P>
|
|
|
|
<I>type core_type </I>
|
|
|
|
= {
|
|
<BR> ptyp_desc :
|
|
<B>core_type_desc</B>
|
|
|
|
;
|
|
<BR> ptyp_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> ptyp_loc_stack :
|
|
<B>Location.t list</B>
|
|
|
|
;
|
|
<BR> ptyp_attributes :
|
|
<B>attributes</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type core_type_desc </I>
|
|
|
|
=
|
|
<BR> | Ptyp_any
|
|
<BR> | Ptyp_var
|
|
<B>of </B>
|
|
|
|
<B>string</B>
|
|
|
|
<BR> | Ptyp_arrow
|
|
<B>of </B>
|
|
|
|
<B>Asttypes.arg_label * core_type * core_type</B>
|
|
|
|
<BR> | Ptyp_tuple
|
|
<B>of </B>
|
|
|
|
<B>core_type list</B>
|
|
|
|
<BR> | Ptyp_constr
|
|
<B>of </B>
|
|
|
|
<B>Longident.t Asttypes.loc * core_type list</B>
|
|
|
|
<BR> | Ptyp_object
|
|
<B>of </B>
|
|
|
|
<B>object_field list * Asttypes.closed_flag</B>
|
|
|
|
<BR> | Ptyp_class
|
|
<B>of </B>
|
|
|
|
<B>Longident.t Asttypes.loc * core_type list</B>
|
|
|
|
<BR> | Ptyp_alias
|
|
<B>of </B>
|
|
|
|
<B>core_type * string</B>
|
|
|
|
<BR> | Ptyp_variant
|
|
<B>of </B>
|
|
|
|
<B>row_field list * Asttypes.closed_flag * Asttypes.label list option</B>
|
|
|
|
<BR> | Ptyp_poly
|
|
<B>of </B>
|
|
|
|
<B>string Asttypes.loc list * core_type</B>
|
|
|
|
<BR> | Ptyp_package
|
|
<B>of </B>
|
|
|
|
<B>package_type</B>
|
|
|
|
<BR> | Ptyp_extension
|
|
<B>of </B>
|
|
|
|
<B>extension</B>
|
|
|
|
<BR>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type package_type </I>
|
|
|
|
=
|
|
<B>Longident.t Asttypes.loc *</B>
|
|
|
|
<B>(Longident.t Asttypes.loc * core_type) list</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type row_field </I>
|
|
|
|
= {
|
|
<BR> prf_desc :
|
|
<B>row_field_desc</B>
|
|
|
|
;
|
|
<BR> prf_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> prf_attributes :
|
|
<B>attributes</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type row_field_desc </I>
|
|
|
|
=
|
|
<BR> | Rtag
|
|
<B>of </B>
|
|
|
|
<B>Asttypes.label Asttypes.loc * bool * core_type list</B>
|
|
|
|
<BR> | Rinherit
|
|
<B>of </B>
|
|
|
|
<B>core_type</B>
|
|
|
|
<BR>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type object_field </I>
|
|
|
|
= {
|
|
<BR> pof_desc :
|
|
<B>object_field_desc</B>
|
|
|
|
;
|
|
<BR> pof_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> pof_attributes :
|
|
<B>attributes</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type object_field_desc </I>
|
|
|
|
=
|
|
<BR> | Otag
|
|
<B>of </B>
|
|
|
|
<B>Asttypes.label Asttypes.loc * core_type</B>
|
|
|
|
<BR> | Oinherit
|
|
<B>of </B>
|
|
|
|
<B>core_type</B>
|
|
|
|
<BR>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type pattern </I>
|
|
|
|
= {
|
|
<BR> ppat_desc :
|
|
<B>pattern_desc</B>
|
|
|
|
;
|
|
<BR> ppat_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> ppat_loc_stack :
|
|
<B>Location.t list</B>
|
|
|
|
;
|
|
<BR> ppat_attributes :
|
|
<B>attributes</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type pattern_desc </I>
|
|
|
|
=
|
|
<BR> | Ppat_any
|
|
<BR> | Ppat_var
|
|
<B>of </B>
|
|
|
|
<B>string Asttypes.loc</B>
|
|
|
|
<BR> | Ppat_alias
|
|
<B>of </B>
|
|
|
|
<B>pattern * string Asttypes.loc</B>
|
|
|
|
<BR> | Ppat_constant
|
|
<B>of </B>
|
|
|
|
<B>constant</B>
|
|
|
|
<BR> | Ppat_interval
|
|
<B>of </B>
|
|
|
|
<B>constant * constant</B>
|
|
|
|
<BR> | Ppat_tuple
|
|
<B>of </B>
|
|
|
|
<B>pattern list</B>
|
|
|
|
<BR> | Ppat_construct
|
|
<B>of </B>
|
|
|
|
<B>Longident.t Asttypes.loc * pattern option</B>
|
|
|
|
<BR> | Ppat_variant
|
|
<B>of </B>
|
|
|
|
<B>Asttypes.label * pattern option</B>
|
|
|
|
<BR> | Ppat_record
|
|
<B>of </B>
|
|
|
|
<B>(Longident.t Asttypes.loc * pattern) list * Asttypes.closed_flag</B>
|
|
|
|
<BR> | Ppat_array
|
|
<B>of </B>
|
|
|
|
<B>pattern list</B>
|
|
|
|
<BR> | Ppat_or
|
|
<B>of </B>
|
|
|
|
<B>pattern * pattern</B>
|
|
|
|
<BR> | Ppat_constraint
|
|
<B>of </B>
|
|
|
|
<B>pattern * core_type</B>
|
|
|
|
<BR> | Ppat_type
|
|
<B>of </B>
|
|
|
|
<B>Longident.t Asttypes.loc</B>
|
|
|
|
<BR> | Ppat_lazy
|
|
<B>of </B>
|
|
|
|
<B>pattern</B>
|
|
|
|
<BR> | Ppat_unpack
|
|
<B>of </B>
|
|
|
|
<B>string Asttypes.loc</B>
|
|
|
|
<BR> | Ppat_exception
|
|
<B>of </B>
|
|
|
|
<B>pattern</B>
|
|
|
|
<BR> | Ppat_extension
|
|
<B>of </B>
|
|
|
|
<B>extension</B>
|
|
|
|
<BR> | Ppat_open
|
|
<B>of </B>
|
|
|
|
<B>Longident.t Asttypes.loc * pattern</B>
|
|
|
|
<BR>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type expression </I>
|
|
|
|
= {
|
|
<BR> pexp_desc :
|
|
<B>expression_desc</B>
|
|
|
|
;
|
|
<BR> pexp_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> pexp_loc_stack :
|
|
<B>Location.t list</B>
|
|
|
|
;
|
|
<BR> pexp_attributes :
|
|
<B>attributes</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type expression_desc </I>
|
|
|
|
=
|
|
<BR> | Pexp_ident
|
|
<B>of </B>
|
|
|
|
<B>Longident.t Asttypes.loc</B>
|
|
|
|
<BR> | Pexp_constant
|
|
<B>of </B>
|
|
|
|
<B>constant</B>
|
|
|
|
<BR> | Pexp_let
|
|
<B>of </B>
|
|
|
|
<B>Asttypes.rec_flag * value_binding list * expression</B>
|
|
|
|
<BR> | Pexp_function
|
|
<B>of </B>
|
|
|
|
<B>case list</B>
|
|
|
|
<BR> | Pexp_fun
|
|
<B>of </B>
|
|
|
|
<B>Asttypes.arg_label * expression option * pattern</B>
|
|
|
|
<B>* expression</B>
|
|
|
|
<BR> | Pexp_apply
|
|
<B>of </B>
|
|
|
|
<B>expression * (Asttypes.arg_label * expression) list</B>
|
|
|
|
<BR> | Pexp_match
|
|
<B>of </B>
|
|
|
|
<B>expression * case list</B>
|
|
|
|
<BR> | Pexp_try
|
|
<B>of </B>
|
|
|
|
<B>expression * case list</B>
|
|
|
|
<BR> | Pexp_tuple
|
|
<B>of </B>
|
|
|
|
<B>expression list</B>
|
|
|
|
<BR> | Pexp_construct
|
|
<B>of </B>
|
|
|
|
<B>Longident.t Asttypes.loc * expression option</B>
|
|
|
|
<BR> | Pexp_variant
|
|
<B>of </B>
|
|
|
|
<B>Asttypes.label * expression option</B>
|
|
|
|
<BR> | Pexp_record
|
|
<B>of </B>
|
|
|
|
<B>(Longident.t Asttypes.loc * expression) list</B>
|
|
|
|
<B>* expression option</B>
|
|
|
|
<BR> | Pexp_field
|
|
<B>of </B>
|
|
|
|
<B>expression * Longident.t Asttypes.loc</B>
|
|
|
|
<BR> | Pexp_setfield
|
|
<B>of </B>
|
|
|
|
<B>expression * Longident.t Asttypes.loc * expression</B>
|
|
|
|
<BR> | Pexp_array
|
|
<B>of </B>
|
|
|
|
<B>expression list</B>
|
|
|
|
<BR> | Pexp_ifthenelse
|
|
<B>of </B>
|
|
|
|
<B>expression * expression * expression option</B>
|
|
|
|
<BR> | Pexp_sequence
|
|
<B>of </B>
|
|
|
|
<B>expression * expression</B>
|
|
|
|
<BR> | Pexp_while
|
|
<B>of </B>
|
|
|
|
<B>expression * expression</B>
|
|
|
|
<BR> | Pexp_for
|
|
<B>of </B>
|
|
|
|
<B>pattern * expression * expression</B>
|
|
|
|
<B>* Asttypes.direction_flag * expression</B>
|
|
|
|
<BR> | Pexp_constraint
|
|
<B>of </B>
|
|
|
|
<B>expression * core_type</B>
|
|
|
|
<BR> | Pexp_coerce
|
|
<B>of </B>
|
|
|
|
<B>expression * core_type option * core_type</B>
|
|
|
|
<BR> | Pexp_send
|
|
<B>of </B>
|
|
|
|
<B>expression * Asttypes.label Asttypes.loc</B>
|
|
|
|
<BR> | Pexp_new
|
|
<B>of </B>
|
|
|
|
<B>Longident.t Asttypes.loc</B>
|
|
|
|
<BR> | Pexp_setinstvar
|
|
<B>of </B>
|
|
|
|
<B>Asttypes.label Asttypes.loc * expression</B>
|
|
|
|
<BR> | Pexp_override
|
|
<B>of </B>
|
|
|
|
<B>(Asttypes.label Asttypes.loc * expression) list</B>
|
|
|
|
<BR> | Pexp_letmodule
|
|
<B>of </B>
|
|
|
|
<B>string Asttypes.loc * module_expr * expression</B>
|
|
|
|
<BR> | Pexp_letexception
|
|
<B>of </B>
|
|
|
|
<B>extension_constructor * expression</B>
|
|
|
|
<BR> | Pexp_assert
|
|
<B>of </B>
|
|
|
|
<B>expression</B>
|
|
|
|
<BR> | Pexp_lazy
|
|
<B>of </B>
|
|
|
|
<B>expression</B>
|
|
|
|
<BR> | Pexp_poly
|
|
<B>of </B>
|
|
|
|
<B>expression * core_type option</B>
|
|
|
|
<BR> | Pexp_object
|
|
<B>of </B>
|
|
|
|
<B>class_structure</B>
|
|
|
|
<BR> | Pexp_newtype
|
|
<B>of </B>
|
|
|
|
<B>string Asttypes.loc * expression</B>
|
|
|
|
<BR> | Pexp_pack
|
|
<B>of </B>
|
|
|
|
<B>module_expr</B>
|
|
|
|
<BR> | Pexp_open
|
|
<B>of </B>
|
|
|
|
<B>open_declaration * expression</B>
|
|
|
|
<BR> | Pexp_letop
|
|
<B>of </B>
|
|
|
|
<B>letop</B>
|
|
|
|
<BR> | Pexp_extension
|
|
<B>of </B>
|
|
|
|
<B>extension</B>
|
|
|
|
<BR> | Pexp_unreachable
|
|
<BR>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type case </I>
|
|
|
|
= {
|
|
<BR> pc_lhs :
|
|
<B>pattern</B>
|
|
|
|
;
|
|
<BR> pc_guard :
|
|
<B>expression option</B>
|
|
|
|
;
|
|
<BR> pc_rhs :
|
|
<B>expression</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type letop </I>
|
|
|
|
= {
|
|
<BR> let_ :
|
|
<B>binding_op</B>
|
|
|
|
;
|
|
<BR> ands :
|
|
<B>binding_op list</B>
|
|
|
|
;
|
|
<BR> body :
|
|
<B>expression</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type binding_op </I>
|
|
|
|
= {
|
|
<BR> pbop_op :
|
|
<B>string Asttypes.loc</B>
|
|
|
|
;
|
|
<BR> pbop_pat :
|
|
<B>pattern</B>
|
|
|
|
;
|
|
<BR> pbop_exp :
|
|
<B>expression</B>
|
|
|
|
;
|
|
<BR> pbop_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type value_description </I>
|
|
|
|
= {
|
|
<BR> pval_name :
|
|
<B>string Asttypes.loc</B>
|
|
|
|
;
|
|
<BR> pval_type :
|
|
<B>core_type</B>
|
|
|
|
;
|
|
<BR> pval_prim :
|
|
<B>string list</B>
|
|
|
|
;
|
|
<BR> pval_attributes :
|
|
<B>attributes</B>
|
|
|
|
;
|
|
<BR> pval_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type type_declaration </I>
|
|
|
|
= {
|
|
<BR> ptype_name :
|
|
<B>string Asttypes.loc</B>
|
|
|
|
;
|
|
<BR> ptype_params :
|
|
<B>(core_type * Asttypes.variance) list</B>
|
|
|
|
;
|
|
<BR> ptype_cstrs :
|
|
<B>(core_type * core_type * Location.t) list</B>
|
|
|
|
;
|
|
<BR> ptype_kind :
|
|
<B>type_kind</B>
|
|
|
|
;
|
|
<BR> ptype_private :
|
|
<B>Asttypes.private_flag</B>
|
|
|
|
;
|
|
<BR> ptype_manifest :
|
|
<B>core_type option</B>
|
|
|
|
;
|
|
<BR> ptype_attributes :
|
|
<B>attributes</B>
|
|
|
|
;
|
|
<BR> ptype_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type type_kind </I>
|
|
|
|
=
|
|
<BR> | Ptype_abstract
|
|
<BR> | Ptype_variant
|
|
<B>of </B>
|
|
|
|
<B>constructor_declaration list</B>
|
|
|
|
<BR> | Ptype_record
|
|
<B>of </B>
|
|
|
|
<B>label_declaration list</B>
|
|
|
|
<BR> | Ptype_open
|
|
<BR>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type label_declaration </I>
|
|
|
|
= {
|
|
<BR> pld_name :
|
|
<B>string Asttypes.loc</B>
|
|
|
|
;
|
|
<BR> pld_mutable :
|
|
<B>Asttypes.mutable_flag</B>
|
|
|
|
;
|
|
<BR> pld_type :
|
|
<B>core_type</B>
|
|
|
|
;
|
|
<BR> pld_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> pld_attributes :
|
|
<B>attributes</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type constructor_declaration </I>
|
|
|
|
= {
|
|
<BR> pcd_name :
|
|
<B>string Asttypes.loc</B>
|
|
|
|
;
|
|
<BR> pcd_args :
|
|
<B>constructor_arguments</B>
|
|
|
|
;
|
|
<BR> pcd_res :
|
|
<B>core_type option</B>
|
|
|
|
;
|
|
<BR> pcd_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> pcd_attributes :
|
|
<B>attributes</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type constructor_arguments </I>
|
|
|
|
=
|
|
<BR> | Pcstr_tuple
|
|
<B>of </B>
|
|
|
|
<B>core_type list</B>
|
|
|
|
<BR> | Pcstr_record
|
|
<B>of </B>
|
|
|
|
<B>label_declaration list</B>
|
|
|
|
<BR>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type type_extension </I>
|
|
|
|
= {
|
|
<BR> ptyext_path :
|
|
<B>Longident.t Asttypes.loc</B>
|
|
|
|
;
|
|
<BR> ptyext_params :
|
|
<B>(core_type * Asttypes.variance) list</B>
|
|
|
|
;
|
|
<BR> ptyext_constructors :
|
|
<B>extension_constructor list</B>
|
|
|
|
;
|
|
<BR> ptyext_private :
|
|
<B>Asttypes.private_flag</B>
|
|
|
|
;
|
|
<BR> ptyext_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> ptyext_attributes :
|
|
<B>attributes</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type extension_constructor </I>
|
|
|
|
= {
|
|
<BR> pext_name :
|
|
<B>string Asttypes.loc</B>
|
|
|
|
;
|
|
<BR> pext_kind :
|
|
<B>extension_constructor_kind</B>
|
|
|
|
;
|
|
<BR> pext_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> pext_attributes :
|
|
<B>attributes</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type type_exception </I>
|
|
|
|
= {
|
|
<BR> ptyexn_constructor :
|
|
<B>extension_constructor</B>
|
|
|
|
;
|
|
<BR> ptyexn_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> ptyexn_attributes :
|
|
<B>attributes</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type extension_constructor_kind </I>
|
|
|
|
=
|
|
<BR> | Pext_decl
|
|
<B>of </B>
|
|
|
|
<B>constructor_arguments * core_type option</B>
|
|
|
|
<BR> | Pext_rebind
|
|
<B>of </B>
|
|
|
|
<B>Longident.t Asttypes.loc</B>
|
|
|
|
<BR>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
|
|
<A NAME="lbAG"> </A>
|
|
<H3>Class language</H3>
|
|
|
|
<P>
|
|
<P>
|
|
|
|
<I>type class_type </I>
|
|
|
|
= {
|
|
<BR> pcty_desc :
|
|
<B>class_type_desc</B>
|
|
|
|
;
|
|
<BR> pcty_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> pcty_attributes :
|
|
<B>attributes</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type class_type_desc </I>
|
|
|
|
=
|
|
<BR> | Pcty_constr
|
|
<B>of </B>
|
|
|
|
<B>Longident.t Asttypes.loc * core_type list</B>
|
|
|
|
<BR> | Pcty_signature
|
|
<B>of </B>
|
|
|
|
<B>class_signature</B>
|
|
|
|
<BR> | Pcty_arrow
|
|
<B>of </B>
|
|
|
|
<B>Asttypes.arg_label * core_type * class_type</B>
|
|
|
|
<BR> | Pcty_extension
|
|
<B>of </B>
|
|
|
|
<B>extension</B>
|
|
|
|
<BR> | Pcty_open
|
|
<B>of </B>
|
|
|
|
<B>open_description * class_type</B>
|
|
|
|
<BR>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type class_signature </I>
|
|
|
|
= {
|
|
<BR> pcsig_self :
|
|
<B>core_type</B>
|
|
|
|
;
|
|
<BR> pcsig_fields :
|
|
<B>class_type_field list</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type class_type_field </I>
|
|
|
|
= {
|
|
<BR> pctf_desc :
|
|
<B>class_type_field_desc</B>
|
|
|
|
;
|
|
<BR> pctf_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> pctf_attributes :
|
|
<B>attributes</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type class_type_field_desc </I>
|
|
|
|
=
|
|
<BR> | Pctf_inherit
|
|
<B>of </B>
|
|
|
|
<B>class_type</B>
|
|
|
|
<BR> | Pctf_val
|
|
<B>of </B>
|
|
|
|
<B>(Asttypes.label Asttypes.loc * Asttypes.mutable_flag *</B>
|
|
|
|
<B>Asttypes.virtual_flag * core_type)</B>
|
|
|
|
<BR> | Pctf_method
|
|
<B>of </B>
|
|
|
|
<B>(Asttypes.label Asttypes.loc * Asttypes.private_flag *</B>
|
|
|
|
<B>Asttypes.virtual_flag * core_type)</B>
|
|
|
|
<BR> | Pctf_constraint
|
|
<B>of </B>
|
|
|
|
<B>(core_type * core_type)</B>
|
|
|
|
<BR> | Pctf_attribute
|
|
<B>of </B>
|
|
|
|
<B>attribute</B>
|
|
|
|
<BR> | Pctf_extension
|
|
<B>of </B>
|
|
|
|
<B>extension</B>
|
|
|
|
<BR>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type </I>
|
|
|
|
<B>'a</B>
|
|
|
|
<I>class_infos </I>
|
|
|
|
= {
|
|
<BR> pci_virt :
|
|
<B>Asttypes.virtual_flag</B>
|
|
|
|
;
|
|
<BR> pci_params :
|
|
<B>(core_type * Asttypes.variance) list</B>
|
|
|
|
;
|
|
<BR> pci_name :
|
|
<B>string Asttypes.loc</B>
|
|
|
|
;
|
|
<BR> pci_expr :
|
|
<B>'a</B>
|
|
|
|
;
|
|
<BR> pci_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> pci_attributes :
|
|
<B>attributes</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type class_description </I>
|
|
|
|
=
|
|
<B>class_type class_infos</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type class_type_declaration </I>
|
|
|
|
=
|
|
<B>class_type class_infos</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type class_expr </I>
|
|
|
|
= {
|
|
<BR> pcl_desc :
|
|
<B>class_expr_desc</B>
|
|
|
|
;
|
|
<BR> pcl_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> pcl_attributes :
|
|
<B>attributes</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type class_expr_desc </I>
|
|
|
|
=
|
|
<BR> | Pcl_constr
|
|
<B>of </B>
|
|
|
|
<B>Longident.t Asttypes.loc * core_type list</B>
|
|
|
|
<BR> | Pcl_structure
|
|
<B>of </B>
|
|
|
|
<B>class_structure</B>
|
|
|
|
<BR> | Pcl_fun
|
|
<B>of </B>
|
|
|
|
<B>Asttypes.arg_label * expression option * pattern</B>
|
|
|
|
<B>* class_expr</B>
|
|
|
|
<BR> | Pcl_apply
|
|
<B>of </B>
|
|
|
|
<B>class_expr * (Asttypes.arg_label * expression) list</B>
|
|
|
|
<BR> | Pcl_let
|
|
<B>of </B>
|
|
|
|
<B>Asttypes.rec_flag * value_binding list * class_expr</B>
|
|
|
|
<BR> | Pcl_constraint
|
|
<B>of </B>
|
|
|
|
<B>class_expr * class_type</B>
|
|
|
|
<BR> | Pcl_extension
|
|
<B>of </B>
|
|
|
|
<B>extension</B>
|
|
|
|
<BR> | Pcl_open
|
|
<B>of </B>
|
|
|
|
<B>open_description * class_expr</B>
|
|
|
|
<BR>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type class_structure </I>
|
|
|
|
= {
|
|
<BR> pcstr_self :
|
|
<B>pattern</B>
|
|
|
|
;
|
|
<BR> pcstr_fields :
|
|
<B>class_field list</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type class_field </I>
|
|
|
|
= {
|
|
<BR> pcf_desc :
|
|
<B>class_field_desc</B>
|
|
|
|
;
|
|
<BR> pcf_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> pcf_attributes :
|
|
<B>attributes</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type class_field_desc </I>
|
|
|
|
=
|
|
<BR> | Pcf_inherit
|
|
<B>of </B>
|
|
|
|
<B>Asttypes.override_flag * class_expr * string Asttypes.loc option</B>
|
|
|
|
<BR> | Pcf_val
|
|
<B>of </B>
|
|
|
|
<B>(Asttypes.label Asttypes.loc * Asttypes.mutable_flag *</B>
|
|
|
|
<B>class_field_kind)</B>
|
|
|
|
<BR> | Pcf_method
|
|
<B>of </B>
|
|
|
|
<B>(Asttypes.label Asttypes.loc * Asttypes.private_flag *</B>
|
|
|
|
<B>class_field_kind)</B>
|
|
|
|
<BR> | Pcf_constraint
|
|
<B>of </B>
|
|
|
|
<B>(core_type * core_type)</B>
|
|
|
|
<BR> | Pcf_initializer
|
|
<B>of </B>
|
|
|
|
<B>expression</B>
|
|
|
|
<BR> | Pcf_attribute
|
|
<B>of </B>
|
|
|
|
<B>attribute</B>
|
|
|
|
<BR> | Pcf_extension
|
|
<B>of </B>
|
|
|
|
<B>extension</B>
|
|
|
|
<BR>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type class_field_kind </I>
|
|
|
|
=
|
|
<BR> | Cfk_virtual
|
|
<B>of </B>
|
|
|
|
<B>core_type</B>
|
|
|
|
<BR> | Cfk_concrete
|
|
<B>of </B>
|
|
|
|
<B>Asttypes.override_flag * expression</B>
|
|
|
|
<BR>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type class_declaration </I>
|
|
|
|
=
|
|
<B>class_expr class_infos</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
|
|
<A NAME="lbAH"> </A>
|
|
<H3>Module language</H3>
|
|
|
|
<P>
|
|
<P>
|
|
|
|
<I>type module_type </I>
|
|
|
|
= {
|
|
<BR> pmty_desc :
|
|
<B>module_type_desc</B>
|
|
|
|
;
|
|
<BR> pmty_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> pmty_attributes :
|
|
<B>attributes</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type module_type_desc </I>
|
|
|
|
=
|
|
<BR> | Pmty_ident
|
|
<B>of </B>
|
|
|
|
<B>Longident.t Asttypes.loc</B>
|
|
|
|
<BR> | Pmty_signature
|
|
<B>of </B>
|
|
|
|
<B>signature</B>
|
|
|
|
<BR> | Pmty_functor
|
|
<B>of </B>
|
|
|
|
<B>string Asttypes.loc * module_type option * module_type</B>
|
|
|
|
<BR> | Pmty_with
|
|
<B>of </B>
|
|
|
|
<B>module_type * with_constraint list</B>
|
|
|
|
<BR> | Pmty_typeof
|
|
<B>of </B>
|
|
|
|
<B>module_expr</B>
|
|
|
|
<BR> | Pmty_extension
|
|
<B>of </B>
|
|
|
|
<B>extension</B>
|
|
|
|
<BR> | Pmty_alias
|
|
<B>of </B>
|
|
|
|
<B>Longident.t Asttypes.loc</B>
|
|
|
|
<BR>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type signature </I>
|
|
|
|
=
|
|
<B>signature_item list</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type signature_item </I>
|
|
|
|
= {
|
|
<BR> psig_desc :
|
|
<B>signature_item_desc</B>
|
|
|
|
;
|
|
<BR> psig_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type signature_item_desc </I>
|
|
|
|
=
|
|
<BR> | Psig_value
|
|
<B>of </B>
|
|
|
|
<B>value_description</B>
|
|
|
|
<BR> | Psig_type
|
|
<B>of </B>
|
|
|
|
<B>Asttypes.rec_flag * type_declaration list</B>
|
|
|
|
<BR> | Psig_typesubst
|
|
<B>of </B>
|
|
|
|
<B>type_declaration list</B>
|
|
|
|
<BR> | Psig_typext
|
|
<B>of </B>
|
|
|
|
<B>type_extension</B>
|
|
|
|
<BR> | Psig_exception
|
|
<B>of </B>
|
|
|
|
<B>type_exception</B>
|
|
|
|
<BR> | Psig_module
|
|
<B>of </B>
|
|
|
|
<B>module_declaration</B>
|
|
|
|
<BR> | Psig_modsubst
|
|
<B>of </B>
|
|
|
|
<B>module_substitution</B>
|
|
|
|
<BR> | Psig_recmodule
|
|
<B>of </B>
|
|
|
|
<B>module_declaration list</B>
|
|
|
|
<BR> | Psig_modtype
|
|
<B>of </B>
|
|
|
|
<B>module_type_declaration</B>
|
|
|
|
<BR> | Psig_open
|
|
<B>of </B>
|
|
|
|
<B>open_description</B>
|
|
|
|
<BR> | Psig_include
|
|
<B>of </B>
|
|
|
|
<B>include_description</B>
|
|
|
|
<BR> | Psig_class
|
|
<B>of </B>
|
|
|
|
<B>class_description list</B>
|
|
|
|
<BR> | Psig_class_type
|
|
<B>of </B>
|
|
|
|
<B>class_type_declaration list</B>
|
|
|
|
<BR> | Psig_attribute
|
|
<B>of </B>
|
|
|
|
<B>attribute</B>
|
|
|
|
<BR> | Psig_extension
|
|
<B>of </B>
|
|
|
|
<B>extension * attributes</B>
|
|
|
|
<BR>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type module_declaration </I>
|
|
|
|
= {
|
|
<BR> pmd_name :
|
|
<B>string Asttypes.loc</B>
|
|
|
|
;
|
|
<BR> pmd_type :
|
|
<B>module_type</B>
|
|
|
|
;
|
|
<BR> pmd_attributes :
|
|
<B>attributes</B>
|
|
|
|
;
|
|
<BR> pmd_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type module_substitution </I>
|
|
|
|
= {
|
|
<BR> pms_name :
|
|
<B>string Asttypes.loc</B>
|
|
|
|
;
|
|
<BR> pms_manifest :
|
|
<B>Longident.t Asttypes.loc</B>
|
|
|
|
;
|
|
<BR> pms_attributes :
|
|
<B>attributes</B>
|
|
|
|
;
|
|
<BR> pms_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type module_type_declaration </I>
|
|
|
|
= {
|
|
<BR> pmtd_name :
|
|
<B>string Asttypes.loc</B>
|
|
|
|
;
|
|
<BR> pmtd_type :
|
|
<B>module_type option</B>
|
|
|
|
;
|
|
<BR> pmtd_attributes :
|
|
<B>attributes</B>
|
|
|
|
;
|
|
<BR> pmtd_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type </I>
|
|
|
|
<B>'a</B>
|
|
|
|
<I>open_infos </I>
|
|
|
|
= {
|
|
<BR> popen_expr :
|
|
<B>'a</B>
|
|
|
|
;
|
|
<BR> popen_override :
|
|
<B>Asttypes.override_flag</B>
|
|
|
|
;
|
|
<BR> popen_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> popen_attributes :
|
|
<B>attributes</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type open_description </I>
|
|
|
|
=
|
|
<B>Longident.t Asttypes.loc open_infos</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type open_declaration </I>
|
|
|
|
=
|
|
<B>module_expr open_infos</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type </I>
|
|
|
|
<B>'a</B>
|
|
|
|
<I>include_infos </I>
|
|
|
|
= {
|
|
<BR> pincl_mod :
|
|
<B>'a</B>
|
|
|
|
;
|
|
<BR> pincl_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> pincl_attributes :
|
|
<B>attributes</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type include_description </I>
|
|
|
|
=
|
|
<B>module_type include_infos</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type include_declaration </I>
|
|
|
|
=
|
|
<B>module_expr include_infos</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type with_constraint </I>
|
|
|
|
=
|
|
<BR> | Pwith_type
|
|
<B>of </B>
|
|
|
|
<B>Longident.t Asttypes.loc * type_declaration</B>
|
|
|
|
<BR> | Pwith_module
|
|
<B>of </B>
|
|
|
|
<B>Longident.t Asttypes.loc * Longident.t Asttypes.loc</B>
|
|
|
|
<BR> | Pwith_typesubst
|
|
<B>of </B>
|
|
|
|
<B>Longident.t Asttypes.loc * type_declaration</B>
|
|
|
|
<BR> | Pwith_modsubst
|
|
<B>of </B>
|
|
|
|
<B>Longident.t Asttypes.loc * Longident.t Asttypes.loc</B>
|
|
|
|
<BR>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type module_expr </I>
|
|
|
|
= {
|
|
<BR> pmod_desc :
|
|
<B>module_expr_desc</B>
|
|
|
|
;
|
|
<BR> pmod_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> pmod_attributes :
|
|
<B>attributes</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type module_expr_desc </I>
|
|
|
|
=
|
|
<BR> | Pmod_ident
|
|
<B>of </B>
|
|
|
|
<B>Longident.t Asttypes.loc</B>
|
|
|
|
<BR> | Pmod_structure
|
|
<B>of </B>
|
|
|
|
<B>structure</B>
|
|
|
|
<BR> | Pmod_functor
|
|
<B>of </B>
|
|
|
|
<B>string Asttypes.loc * module_type option * module_expr</B>
|
|
|
|
<BR> | Pmod_apply
|
|
<B>of </B>
|
|
|
|
<B>module_expr * module_expr</B>
|
|
|
|
<BR> | Pmod_constraint
|
|
<B>of </B>
|
|
|
|
<B>module_expr * module_type</B>
|
|
|
|
<BR> | Pmod_unpack
|
|
<B>of </B>
|
|
|
|
<B>expression</B>
|
|
|
|
<BR> | Pmod_extension
|
|
<B>of </B>
|
|
|
|
<B>extension</B>
|
|
|
|
<BR>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type structure </I>
|
|
|
|
=
|
|
<B>structure_item list</B>
|
|
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type structure_item </I>
|
|
|
|
= {
|
|
<BR> pstr_desc :
|
|
<B>structure_item_desc</B>
|
|
|
|
;
|
|
<BR> pstr_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type structure_item_desc </I>
|
|
|
|
=
|
|
<BR> | Pstr_eval
|
|
<B>of </B>
|
|
|
|
<B>expression * attributes</B>
|
|
|
|
<BR> | Pstr_value
|
|
<B>of </B>
|
|
|
|
<B>Asttypes.rec_flag * value_binding list</B>
|
|
|
|
<BR> | Pstr_primitive
|
|
<B>of </B>
|
|
|
|
<B>value_description</B>
|
|
|
|
<BR> | Pstr_type
|
|
<B>of </B>
|
|
|
|
<B>Asttypes.rec_flag * type_declaration list</B>
|
|
|
|
<BR> | Pstr_typext
|
|
<B>of </B>
|
|
|
|
<B>type_extension</B>
|
|
|
|
<BR> | Pstr_exception
|
|
<B>of </B>
|
|
|
|
<B>type_exception</B>
|
|
|
|
<BR> | Pstr_module
|
|
<B>of </B>
|
|
|
|
<B>module_binding</B>
|
|
|
|
<BR> | Pstr_recmodule
|
|
<B>of </B>
|
|
|
|
<B>module_binding list</B>
|
|
|
|
<BR> | Pstr_modtype
|
|
<B>of </B>
|
|
|
|
<B>module_type_declaration</B>
|
|
|
|
<BR> | Pstr_open
|
|
<B>of </B>
|
|
|
|
<B>open_declaration</B>
|
|
|
|
<BR> | Pstr_class
|
|
<B>of </B>
|
|
|
|
<B>class_declaration list</B>
|
|
|
|
<BR> | Pstr_class_type
|
|
<B>of </B>
|
|
|
|
<B>class_type_declaration list</B>
|
|
|
|
<BR> | Pstr_include
|
|
<B>of </B>
|
|
|
|
<B>include_declaration</B>
|
|
|
|
<BR> | Pstr_attribute
|
|
<B>of </B>
|
|
|
|
<B>attribute</B>
|
|
|
|
<BR> | Pstr_extension
|
|
<B>of </B>
|
|
|
|
<B>extension * attributes</B>
|
|
|
|
<BR>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type value_binding </I>
|
|
|
|
= {
|
|
<BR> pvb_pat :
|
|
<B>pattern</B>
|
|
|
|
;
|
|
<BR> pvb_expr :
|
|
<B>expression</B>
|
|
|
|
;
|
|
<BR> pvb_attributes :
|
|
<B>attributes</B>
|
|
|
|
;
|
|
<BR> pvb_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type module_binding </I>
|
|
|
|
= {
|
|
<BR> pmb_name :
|
|
<B>string Asttypes.loc</B>
|
|
|
|
;
|
|
<BR> pmb_expr :
|
|
<B>module_expr</B>
|
|
|
|
;
|
|
<BR> pmb_attributes :
|
|
<B>attributes</B>
|
|
|
|
;
|
|
<BR> pmb_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
|
|
<A NAME="lbAI"> </A>
|
|
<H3>Toplevel</H3>
|
|
|
|
<P>
|
|
<P>
|
|
|
|
<I>type toplevel_phrase </I>
|
|
|
|
=
|
|
<BR> | Ptop_def
|
|
<B>of </B>
|
|
|
|
<B>structure</B>
|
|
|
|
<BR> | Ptop_dir
|
|
<B>of </B>
|
|
|
|
<B>toplevel_directive</B>
|
|
|
|
<BR>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type toplevel_directive </I>
|
|
|
|
= {
|
|
<BR> pdir_name :
|
|
<B>string Asttypes.loc</B>
|
|
|
|
;
|
|
<BR> pdir_arg :
|
|
<B>directive_argument option</B>
|
|
|
|
;
|
|
<BR> pdir_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type directive_argument </I>
|
|
|
|
= {
|
|
<BR> pdira_desc :
|
|
<B>directive_argument_desc</B>
|
|
|
|
;
|
|
<BR> pdira_loc :
|
|
<B>Location.t</B>
|
|
|
|
;
|
|
<BR> }
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<I>type directive_argument_desc </I>
|
|
|
|
=
|
|
<BR> | Pdir_string
|
|
<B>of </B>
|
|
|
|
<B>string</B>
|
|
|
|
<BR> | Pdir_int
|
|
<B>of </B>
|
|
|
|
<B>string * char option</B>
|
|
|
|
<BR> | Pdir_ident
|
|
<B>of </B>
|
|
|
|
<B>Longident.t</B>
|
|
|
|
<BR> | Pdir_bool
|
|
<B>of </B>
|
|
|
|
<B>bool</B>
|
|
|
|
<BR>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
|
|
<HR>
|
|
<A NAME="index"> </A><H2>Index</H2>
|
|
<DL>
|
|
<DT id="1"><A HREF="#lbAB">NAME</A><DD>
|
|
<DT id="2"><A HREF="#lbAC">Module</A><DD>
|
|
<DT id="3"><A HREF="#lbAD">Documentation</A><DD>
|
|
<DL>
|
|
<DT id="4"><A HREF="#lbAE">Extension points</A><DD>
|
|
<DT id="5"><A HREF="#lbAF">Core language</A><DD>
|
|
<DT id="6"><A HREF="#lbAG">Class language</A><DD>
|
|
<DT id="7"><A HREF="#lbAH">Module language</A><DD>
|
|
<DT id="8"><A HREF="#lbAI">Toplevel</A><DD>
|
|
</DL>
|
|
</DL>
|
|
<HR>
|
|
This document was created by
|
|
<A HREF="/cgi-bin/man/man2html">man2html</A>,
|
|
using the manual pages.<BR>
|
|
Time: 00:05:49 GMT, March 31, 2021
|
|
</BODY>
|
|
</HTML>
|