module Flx_mtypes2: sig .. end
module VarMap: Map.S with type key = string
type varmap_t = string VarMap.t
module TypecodeSet: Set.S with type elt = Flx_ast.typecode_t
type typecodeset_t = TypecodeSet.t
val typecodeset_of_list : TypecodeSet.elt list -> TypecodeSet.t
val typecodeset_map : (TypecodeSet.elt -> TypecodeSet.elt) ->
TypecodeSet.t -> TypecodeSet.t
module PosSet: Set.S with type elt = int
module PosSetSet: Set.S with type elt = PosSet.t
module CharSet: Set.S with type elt = int
type instance_registry_t = (int * Flx_types.btypecode_t list, int) Hashtbl.t
type felix_compiler_options_t = {
|
print_flag : bool; |
|
debug : bool; |
|
optimise : bool; |
|
trace : bool; |
|
include_dirs : string list; |
|
files : string list; |
|
raw_options : (string * string) list; |
|
reverse_return_parity : bool; |
|
max_inline_length : int; |
|
compile_only : bool; |
|
force_recompile : bool; |
|
with_comments : bool; |
|
mangle_names : bool; |
|
elkhound : string; |
|
generate_axiom_checks : bool; |
|
hash_include : string list; |
}
type sym_state_t = {
|
dfns : Flx_types.symbol_table_t; |
|
counter : int Pervasives.ref; |
|
varmap : Flx_types.typevarmap_t; |
|
ticache : (int, Flx_types.btypecode_t) Hashtbl.t; |
|
glr_cache : (int, Flx_types.btypecode_t) Hashtbl.t; |
|
env_cache : (int, Flx_types.env_t) Hashtbl.t; |
|
registry : Flx_types.type_registry_t; |
|
compiler_options : felix_compiler_options_t; |
|
instances : instance_registry_t; |
|
include_files : string list Pervasives.ref; |
|
roots : Flx_mtypes1.IntSet.t Pervasives.ref; |
|
wrappers : (int, int) Hashtbl.t; |
|
lexers : (int * Flx_types.tbexpr_t, int) Hashtbl.t; |
|
parsers : (int * Flx_types.btypecode_t * int list, int) Hashtbl.t; |
|
quick_names : (string, int * Flx_types.btypecode_t list) Hashtbl.t; |
|
mutable bifaces : Flx_types.biface_t list; |
|
mutable reductions : Flx_types.reduction_t list; |
|
mutable axioms : Flx_types.axiom_t list; |
|
variant_map : (Flx_types.btypecode_t * Flx_types.btypecode_t, int) Hashtbl.t; |
|
typeclass_to_instance : (int, (Flx_types.bvs_t * Flx_types.btypecode_t * Flx_types.btypecode_t list * int) list) Hashtbl.t; |
|
instances_of_typeclass : (int, (int * (Flx_types.bvs_t * Flx_types.btypecode_t * Flx_types.btypecode_t list)) list) Hashtbl.t; |
|
transient_specialisation_cache : (int * Flx_types.btypecode_t list, int * Flx_types.btypecode_t list) Hashtbl.t; |
}