Up

module Clambda

: sig
#
type function_label = string
#
type ustructured_constant =
# | Uconst_float of float
# | Uconst_int32 of int32
# | Uconst_int64 of int64
# | Uconst_nativeint of nativeint
# | Uconst_block of int * uconstant list
# | Uconst_float_array of float list
# | Uconst_string of string
#
type uconstant =
# | Uconst_ref of string * ustructured_constant
# | Uconst_int of int
# | Uconst_ptr of int
#
type ulambda =
# | Uvar of Ident.t
# | Uconst of uconstant
# | Udirect_apply of function_label * ulambda list * Debuginfo.t
# | Ugeneric_apply of ulambda * ulambda list * Debuginfo.t
# | Uclosure of ufunction list * ulambda list
# | Uoffset of ulambda * int
# | Ulet of Ident.t * ulambda * ulambda
# | Uletrec of (Ident.t * ulambda) list * ulambda
# | Uprim of Lambda.primitive * ulambda list * Debuginfo.t
# | Uswitch of ulambda * ulambda_switch
# | Ustringswitch of ulambda * (string * ulambda) list * ulambda option
# | Ustaticfail of int * ulambda list
# | Ucatch of int * Ident.t list * ulambda * ulambda
# | Utrywith of ulambda * Ident.t * ulambda
# | Uifthenelse of ulambda * ulambda * ulambda
# | Usequence of ulambda * ulambda
# | Uwhile of ulambda * ulambda
# | Uassign of Ident.t * ulambda
# | Usend of Lambda.meth_kind * ulambda * ulambda * ulambda list * Debuginfo.t
#
type ufunction = {
# label
: function_label;
# arity
: int;
# params
: Ident.t list;
# body
: ulambda;
# dbg
: Debuginfo.t;
}
#
type ulambda_switch = {
# us_index_consts
: int array;
# us_actions_consts
: ulambda array;
# us_index_blocks
: int array;
# us_actions_blocks
: ulambda array;
}
#
type function_description = {
# fun_label
: function_label;
# fun_arity
: int;
# mutable fun_closed
: bool;
# mutable fun_inline
: (Ident.t list * ulambda) option;
# mutable fun_float_const_prop
: bool;
}
#
type value_approximation =
# | Value_tuple of value_approximation array
# | Value_unknown
# | Value_const of uconstant
# | Value_global_field of string * int
#
val compare_structured_constants : ustructured_constant -> ustructured_constant -> int
#
val compare_constants : uconstant -> uconstant -> int
end