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 ; |
}