Module Nativecode

This file defines the mllambda code generation phase of the native compiler. mllambda represents a fragment of ML, and can easily be printed to OCaml code.

type mllambda
type global
val pp_global : Stdlib.Format.formatter -> global -> unit
val mk_open : string -> global
type symbol
type symbols
val empty_symbols : symbols
val clear_symbols : unit -> unit
val get_value : symbols -> int -> Nativevalues.t
val get_sort : symbols -> int -> Sorts.t
val get_name : symbols -> int -> Names.Name.t
val get_const : symbols -> int -> Names.Constant.t
val get_match : symbols -> int -> Nativevalues.annot_sw
val get_ind : symbols -> int -> Names.inductive
val get_meta : symbols -> int -> Constr.metavariable
val get_evar : symbols -> int -> Evar.t
val get_level : symbols -> int -> Univ.Level.t
val get_proj : symbols -> int -> Names.inductive * int
val get_symbols : unit -> symbols
type code_location_update
type code_location_updates
type linkable_code = global list * code_location_updates
val clear_global_tbl : unit -> unit
val empty_updates : code_location_updates
val register_native_file : string -> unit
val compile_constant_field : Environ.env -> string -> Names.Constant.t -> global list -> Declarations.constant_body -> global list
val compile_mind_field : Names.ModPath.t -> Names.Label.t -> global list -> Declarations.mutual_inductive_body -> global list
val mk_conv_code : Environ.env -> Nativelambda.evars -> string -> Constr.constr -> Constr.constr -> linkable_code
val mk_norm_code : Environ.env -> Nativelambda.evars -> string -> Constr.constr -> linkable_code
val mk_library_header : Names.DirPath.t -> global list
val mod_uid_of_dirpath : Names.DirPath.t -> string
val update_locations : code_location_updates -> unit
val add_header_comment : global list -> string -> global list