package ocaml-base-compiler

  1. Overview
  2. Docs
type function_label = string
type ustructured_constant =
  1. | Uconst_float of float
  2. | Uconst_int32 of int32
  3. | Uconst_int64 of int64
  4. | Uconst_nativeint of nativeint
  5. | Uconst_block of int * uconstant list
  6. | Uconst_float_array of float list
  7. | Uconst_string of string
  8. | Uconst_closure of ufunction list * string * uconstant list
and uconstant =
  1. | Uconst_ref of string * ustructured_constant option
  2. | Uconst_int of int
  3. | Uconst_ptr of int
and ulambda =
  1. | Uvar of Ident.t
  2. | Uconst of uconstant
  3. | Udirect_apply of function_label * ulambda list * Debuginfo.t
  4. | Ugeneric_apply of ulambda * ulambda list * Debuginfo.t
  5. | Uclosure of ufunction list * ulambda list
  6. | Uoffset of ulambda * int
  7. | Ulet of Asttypes.mutable_flag * Lambda.value_kind * Ident.t * ulambda * ulambda
  8. | Uletrec of (Ident.t * ulambda) list * ulambda
  9. | Uprim of Lambda.primitive * ulambda list * Debuginfo.t
  10. | Uswitch of ulambda * ulambda_switch * Debuginfo.t
  11. | Ustringswitch of ulambda * (string * ulambda) list * ulambda option
  12. | Ustaticfail of int * ulambda list
  13. | Ucatch of int * Ident.t list * ulambda * ulambda
  14. | Utrywith of ulambda * Ident.t * ulambda
  15. | Uifthenelse of ulambda * ulambda * ulambda
  16. | Usequence of ulambda * ulambda
  17. | Uwhile of ulambda * ulambda
  18. | Ufor of Ident.t * ulambda * ulambda * Asttypes.direction_flag * ulambda
  19. | Uassign of Ident.t * ulambda
  20. | Usend of Lambda.meth_kind * ulambda * ulambda * ulambda list * Debuginfo.t
  21. | Uunreachable
and ufunction = {
  1. label : function_label;
  2. arity : int;
  3. params : Ident.t list;
  4. body : ulambda;
  5. dbg : Debuginfo.t;
  6. env : Ident.t option;
}
and ulambda_switch = {
  1. us_index_consts : int array;
  2. us_actions_consts : ulambda array;
  3. us_index_blocks : int array;
  4. us_actions_blocks : ulambda array;
}
type function_description = {
  1. fun_label : function_label;
  2. fun_arity : int;
  3. mutable fun_closed : bool;
  4. mutable fun_inline : (Ident.t list * ulambda) option;
  5. mutable fun_float_const_prop : bool;
}
type value_approximation =
  1. | Value_closure of function_description * value_approximation
  2. | Value_tuple of value_approximation array
  3. | Value_unknown
  4. | Value_const of uconstant
  5. | Value_global_field of string * int
val compare_structured_constants : ustructured_constant -> ustructured_constant -> int
val compare_constants : uconstant -> uconstant -> int
type preallocated_block = {
  1. symbol : string;
  2. exported : bool;
  3. tag : int;
  4. size : int;
}
type preallocated_constant = {
  1. symbol : string;
  2. exported : bool;
  3. definition : ustructured_constant;
}
OCaml

Innovation. Community. Security.